tAdd some comments - dedup - deduplicating backup program
 (HTM) git clone git://git.z3bra.org/dedup.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 53b588c7899ecf4f4c969259e2c80f18192893ba
 (DIR) parent ff783e2a9af6d97d55697d654d759ca48d6a28a1
 (HTM) Author: sin <sin@2f30.org>
       Date:   Sat, 27 Apr 2019 18:31:05 +0100
       
       Add some comments
       
       Diffstat:
         M bstorage.c                          |      15 ++++++++++-----
       
       1 file changed, 10 insertions(+), 5 deletions(-)
       ---
 (DIR) diff --git a/bstorage.c b/bstorage.c
       t@@ -84,8 +84,8 @@ struct bhdr {
        /* Block descriptor */
        struct bd {
                uint64_t type;
       -        uint64_t offset;
       -        uint64_t size;
       +        uint64_t offset;        /* offset of block */
       +        uint64_t size;                /* size of block */
                uint64_t refcnt;
                unsigned char md[MDSIZE];
                RB_ENTRY(bd) rbe;
       t@@ -359,7 +359,6 @@ bscreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar)
                        close(fd);
                        return -1;
                }
       -
                bhdr->nbd = 0;
                sctx->fd = fd;
        
       t@@ -484,6 +483,7 @@ bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md)
                        if (lseek(sctx->fd, bdoffs, SEEK_SET) < 0)
                                return -1;
        
       +                /* Block already present, increment the reference count */
                        bd->refcnt++;
                        if (packbd(sctx->fd, bd) < 0) {
                                bd->refcnt--;
       t@@ -583,8 +583,7 @@ bsrm(struct bctx *bctx, unsigned char *md)
                if (punchhole(sctx->fd, bd->offset, bd->size) < 0) {
                        /*
                         * Filesystem does not support hole punching.
       -                 * Try to recover the block descriptor so we don't
       -                 * lose track of the block.
       +                 * Restore reference count.
                         */
                        lseek(sctx->fd, bdoffs, SEEK_SET);
                        bd->refcnt++;
       t@@ -592,6 +591,11 @@ bsrm(struct bctx *bctx, unsigned char *md)
                        return -1;
                }
        
       +        /*
       +         * Remove block from block descriptor cache as this is no
       +         * longer a valid block.  Insert it into the garbage collector
       +         * list instead.
       +         */
                RB_REMOVE(bdcache, &sctx->bdcache, bd);
                SLIST_INSERT_HEAD(&sctx->gchead, bd, sle);
                return 0;
       t@@ -685,6 +689,7 @@ bsclose(struct bctx *bctx)
                        return -1;
        
                sctx = bctx->sctx;
       +
                /* Free block descriptor cache */
                RB_FOREACH_SAFE(bd, bdcache, &sctx->bdcache, tmp) {
                        RB_REMOVE(bdcache, &sctx->bdcache, bd);