]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfsprogs-dev.git/commitdiff
libxfs: rename buffer cache index variable b_bn libxfs-5.15-sync_2021-09-17
authorDarrick J. Wong <djwong@kernel.org>
Fri, 3 Sep 2021 16:20:10 +0000 (09:20 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Sat, 18 Sep 2021 02:00:27 +0000 (19:00 -0700)
To stop external users from using b_bn as the disk address of the
buffer, rename it to b_rhash_key to indicate that it is the buffer
cache index, not the block number of the buffer. Code that needs the
disk address should use xfs_buf_daddr() to obtain it.

Do the rename and clean up any of the remaining internal b_bn users.
Also clean up any remaining b_bn cruft that is now unused.

Inspired-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
libxfs/libxfs_io.h
libxfs/rdwr.c

index 1f2ac25bc4cef204ff54eedba37ae7108a7b3b9b..e378f22bcd6635058e7d4c88d3484523de84d03b 100644 (file)
@@ -79,7 +79,7 @@ struct xfs_buf_ops {
 struct xfs_buf {
        struct cache_node       b_node;
        unsigned int            b_flags;
-       xfs_daddr_t             b_bn;
+       xfs_daddr_t             b_cache_key;    /* buffer cache index */
        unsigned int            b_length;
        struct xfs_buftarg      *b_target;
        pthread_mutex_t         b_lock;
@@ -118,8 +118,8 @@ typedef unsigned int xfs_buf_flags_t;
 static inline xfs_daddr_t xfs_buf_daddr(struct xfs_buf *bp)
 {
        /* XXX remove me */
-       if (bp->b_bn != bp->b_maps[0].bm_bn && bp->b_bn != -1ULL) {
-               fprintf(stderr, "FARTS buf %p bn %lx bmbn %lx intmap? %d\n", bp, bp->b_bn, bp->b_maps[0].bm_bn, bp->b_maps == &bp->__b_map);
+       if (bp->b_cache_key != bp->b_maps[0].bm_bn && bp->b_cache_key != -1ULL) {
+               fprintf(stderr, "FARTS buf %p bn %lx bmbn %lx intmap? %d\n", bp, bp->b_cache_key, bp->b_maps[0].bm_bn, bp->b_maps == &bp->__b_map);
                abort();
        }
        return bp->b_maps[0].bm_bn;
@@ -127,7 +127,7 @@ static inline xfs_daddr_t xfs_buf_daddr(struct xfs_buf *bp)
 
 static inline void xfs_buf_set_daddr(struct xfs_buf *bp, xfs_daddr_t blkno)
 {
-       assert(bp->b_bn == XFS_BUF_DADDR_NULL);
+       assert(bp->b_cache_key == XFS_BUF_DADDR_NULL);
        bp->b_maps[0].bm_bn = blkno;
 }
 
index 03dc291764b3098da8a6cbc7ac6afcb675bd2619..96f95ae3a059916e6054bccd067f93212f5ad03f 100644 (file)
@@ -205,7 +205,7 @@ libxfs_bcompare(struct cache_node *node, cache_key_t key)
        struct xfs_bufkey       *bkey = (struct xfs_bufkey *)key;
 
        if (bp->b_target->bt_bdev == bkey->buftarg->bt_bdev &&
-           bp->b_bn == bkey->blkno) {
+           bp->b_cache_key == bkey->blkno) {
                if (bp->b_length == bkey->bblen)
                        return CACHE_HIT;
 #ifdef IO_BCOMPARE_CHECK
@@ -214,7 +214,7 @@ libxfs_bcompare(struct cache_node *node, cache_key_t key)
        "%lx: Badness in key lookup (length)\n"
        "bp=(bno 0x%llx, len %u bytes) key=(bno 0x%llx, len %u bytes)\n",
                                pthread_self(),
-                               (unsigned long long)bp->b_bn, 
+                               (unsigned long long)xfs_buf_daddr(bp),
                                BBTOB(bp->b_length),
                                (unsigned long long)bkey->blkno,
                                BBTOB(bkey->bblen));
@@ -230,7 +230,7 @@ __initbuf(struct xfs_buf *bp, struct xfs_buftarg *btp, xfs_daddr_t bno,
                unsigned int bytes)
 {
        bp->b_flags = 0;
-       bp->b_bn = bno;
+       bp->b_cache_key = bno;
        bp->b_length = BTOBB(bytes);
        bp->b_target = btp;
        bp->b_mount = btp->bt_mount;
@@ -256,7 +256,7 @@ __initbuf(struct xfs_buf *bp, struct xfs_buftarg *btp, xfs_daddr_t bno,
 
        if (bp->b_maps == &bp->__b_map) {
                bp->b_nmaps = 1;
-               bp->b_maps[0].bm_bn = bp->b_bn;
+               bp->b_maps[0].bm_bn = bno;
                bp->b_maps[0].bm_len = bp->b_length;
        }
 }
@@ -591,7 +591,7 @@ libxfs_readbufr(struct xfs_buftarg *btp, xfs_daddr_t blkno, struct xfs_buf *bp,
        error = __read_buf(fd, bp->b_addr, bytes, LIBXFS_BBTOOFF64(blkno), flags);
        if (!error &&
            bp->b_target->bt_bdev == btp->bt_bdev &&
-           bp->b_bn == blkno &&
+           bp->b_cache_key == blkno &&
            bp->b_length == len)
                bp->b_flags |= LIBXFS_B_UPTODATE;
        bp->b_error = error;
@@ -833,14 +833,14 @@ libxfs_bwrite(
                        fprintf(stderr,
        _("%s: write verifier failed on %s bno 0x%llx/0x%x\n"),
                                __func__, bp->b_ops->name,
-                               (long long)bp->b_bn, bp->b_length);
+                               (long long)xfs_buf_daddr(bp), bp->b_length);
                        return bp->b_error;
                }
        }
 
        if (!(bp->b_flags & LIBXFS_B_DISCONTIG)) {
                bp->b_error = __write_buf(fd, bp->b_addr, BBTOB(bp->b_length),
-                                   LIBXFS_BBTOOFF64(bp->b_bn), bp->b_flags);
+                                   LIBXFS_BBTOOFF64(xfs_buf_daddr(bp)), bp->b_flags);
        } else {
                int     i;
                void    *buf = bp->b_addr;
@@ -861,7 +861,7 @@ libxfs_bwrite(
                fprintf(stderr,
        _("%s: write failed on %s bno 0x%llx/0x%x, err=%d\n"),
                        __func__, bp->b_ops ? bp->b_ops->name : "(unknown)",
-                       (long long)bp->b_bn, bp->b_length, -bp->b_error);
+                       (long long)xfs_buf_daddr(bp), bp->b_length, -bp->b_error);
        } else {
                bp->b_flags |= LIBXFS_B_UPTODATE;
                bp->b_flags &= ~(LIBXFS_B_DIRTY | LIBXFS_B_UNCHECKED);