URI: 
       Remember store size in the index header - dedup - deduplicating backup program
  HTML git clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
   DIR LICENSE
       ---
   DIR commit 7af43f80bce1e8a11967d0d83f1346e028a2f240
   DIR parent 7991e88c0880ae32e6f5f4e9e87eea03e7e6d5d2
  HTML Author: sin <sin@2f30.org>
       Date:   Sun, 17 Feb 2019 11:41:53 +0000
       
       Remember store size in the index header
       
       This is needed because when using disk devices directly it doesn't
       make sense to lseek to the end to append to the store.
       
       Diffstat:
         M dedup.c                             |       7 ++++++-
       
       1 file changed, 6 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/dedup.c b/dedup.c
       @@ -33,6 +33,7 @@ enum {
        struct enthdr {
                uint64_t flags;
                uint64_t nents;
       +        uint64_t store_size;
        };
        
        /* block descriptor */
       @@ -344,12 +345,13 @@ write_blk(uint8_t *buf, struct bdescr *bdescr)
        {
                lseek(sfd, bdescr->offset, SEEK_SET);
                xwrite(sfd, buf, bdescr->size);
       +        enthdr.store_size += bdescr->size;
        }
        
        off_t
        store_size(void)
        {
       -        return lseek(sfd, 0, SEEK_END);
       +        return enthdr.store_size;
        }
        
        int
       @@ -621,6 +623,9 @@ init(void)
                        err(1, "fstat %s", INDEXF);
                if (sb.st_size != 0)
                        xread(ifd, &enthdr, sizeof(enthdr));
       +        if (verbose)
       +                fprintf(stderr, "store size: %llu bytes\n",
       +                        (unsigned long long)enthdr.store_size);
        
                if (cache_nents() != 0)
                        init_cache();