linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Eric Sandeen <sandeen@sandeen.net>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH 45/45] libxfs: rename buffer cache index variable b_bn
Date: Fri, 28 Jan 2022 14:14:39 -0800	[thread overview]
Message-ID: <20220128221439.GI13540@magnolia> (raw)
In-Reply-To: <8054cc29-9c05-ebc0-7279-8cc694302509@sandeen.net>

On Fri, Jan 28, 2022 at 03:37:17PM -0600, Eric Sandeen wrote:
> On 1/19/22 6:21 PM, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> > 
> > 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.
> 
> Is there a reason this wasn't done in the prior patch? If not, I'm happy
> to move them for consistency as noted below.

IIRC I created this as a separate patch to keep the "libxfs changes from
the kernel" bits separate from the "libxfs changes to keep the build
going".  Usually I do this so that if I have to rebase the libxfs-apply
patches I'll lose fewer pieces along the way.

If you want to combine these in the final product then please go ahead.
:)

--D

> > 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 |    4 ++--
> >   libxfs/rdwr.c      |   16 ++++++++--------
> >   2 files changed, 10 insertions(+), 10 deletions(-)
> > 
> > 
> > diff --git a/libxfs/libxfs_io.h b/libxfs/libxfs_io.h
> > index a4d0a913..8a42f500 100644
> > --- a/libxfs/libxfs_io.h
> > +++ b/libxfs/libxfs_io.h
> > @@ -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;
> > @@ -122,7 +122,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;
> >   }
> > diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
> > index a55e3a79..2a9e8c98 100644
> > --- a/libxfs/rdwr.c
> > +++ b/libxfs/rdwr.c
> > @@ -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),
> 
> here
> 
> >   				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);
> 
> here
> 
> >   			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);
> 
> here
> 
> >   	} 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);
> 
> and here
> 
> >   	} else {
> >   		bp->b_flags |= LIBXFS_B_UPTODATE;
> >   		bp->b_flags &= ~(LIBXFS_B_DIRTY | LIBXFS_B_UNCHECKED);
> > 

  reply	other threads:[~2022-01-28 22:14 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-20  0:17 [PATCHSET 00/45] xfsprogs: sync libxfs with 5.15 Darrick J. Wong
2022-01-20  0:17 ` [PATCH 01/45] xfsprogs: fix static build problems caused by liburcu Darrick J. Wong
2022-01-20  0:17 ` [PATCH 02/45] xfs_{copy,db,logprint,repair}: pass xfs_mount pointers instead of xfs_sb pointers Darrick J. Wong
2022-01-28 22:01   ` Eric Sandeen
2022-01-20  0:17 ` [PATCH 03/45] xfs: remove support for disabling quota accounting on a mounted file system Darrick J. Wong
2022-01-20  0:17 ` [PATCH 04/45] xfs: remove the active vs running quota differentiation Darrick J. Wong
2022-01-20  0:17 ` [PATCH 05/45] xfs: replace kmem_alloc_large() with kvmalloc() Darrick J. Wong
2022-01-20  0:17 ` [PATCH 06/45] xfs: allow setting and clearing of log incompat feature flags Darrick J. Wong
2022-01-20  0:18 ` [PATCH 07/45] xfs: add attr state machine tracepoints Darrick J. Wong
2022-01-20  0:18 ` [PATCH 08/45] xfs: Rename __xfs_attr_rmtval_remove Darrick J. Wong
2022-01-20  0:18 ` [PATCH 09/45] xfs: make xfs_rtalloc_query_range input parameters const Darrick J. Wong
2022-01-20  0:18 ` [PATCH 10/45] xfs: make the key parameters to all btree key comparison functions const Darrick J. Wong
2022-01-20  0:18 ` [PATCH 11/45] xfs: make the key parameters to all btree query range " Darrick J. Wong
2022-01-20  0:18 ` [PATCH 12/45] xfs: make the record pointer passed to query_range " Darrick J. Wong
2022-01-20  0:18 ` [PATCH 13/45] xfs: mark the record passed into btree init_key functions as const Darrick J. Wong
2022-01-20  0:18 ` [PATCH 14/45] xfs: make the keys and records passed to btree inorder functions const Darrick J. Wong
2022-01-20  0:18 ` [PATCH 15/45] xfs: mark the record passed into xchk_btree functions as const Darrick J. Wong
2022-01-20  0:18 ` [PATCH 16/45] xfs: make the pointer passed to btree set_root functions const Darrick J. Wong
2022-01-20  0:18 ` [PATCH 17/45] xfs: make the start pointer passed to btree alloc_block " Darrick J. Wong
2022-01-20  0:19 ` [PATCH 18/45] xfs: make the start pointer passed to btree update_lastrec " Darrick J. Wong
2022-01-20  0:19 ` [PATCH 19/45] xfs: constify btree function parameters that are not modified Darrick J. Wong
2022-01-20  0:19 ` [PATCH 20/45] xfs: resolve fork names in trace output Darrick J. Wong
2022-01-20  0:19 ` [PATCH 21/45] xfs: sb verifier doesn't handle uncached sb buffer Darrick J. Wong
2022-01-20  0:19 ` [PATCH 22/45] xfs: rename xfs_has_attr() Darrick J. Wong
2022-01-20  0:19 ` [PATCH 23/45] xfs: rework attr2 feature and mount options Darrick J. Wong
2022-01-20  0:19 ` [PATCH 24/45] xfs: reflect sb features in xfs_mount Darrick J. Wong
2022-01-20  0:19 ` [PATCH 25/45] xfs: replace xfs_sb_version checks with feature flag checks Darrick J. Wong
2022-01-20  0:19 ` [PATCH 26/45] xfs: convert mount flags to features Darrick J. Wong
2022-01-31 22:59   ` Eric Sandeen
2022-01-31 23:31     ` Darrick J. Wong
2022-01-20  0:19 ` [PATCH 27/45] xfs: convert remaining mount flags to state flags Darrick J. Wong
2022-01-20  0:19 ` [PATCH 28/45] xfs: replace XFS_FORCED_SHUTDOWN with xfs_is_shutdown Darrick J. Wong
2022-01-20  0:20 ` [PATCH 29/45] xfs: convert xfs_fs_geometry to use mount feature checks Darrick J. Wong
2022-01-20  0:20 ` [PATCH 30/45] xfs: open code sb verifier " Darrick J. Wong
2022-01-20  0:20 ` [PATCH 31/45] xfs: convert xfs_sb_version_has checks to use mount features Darrick J. Wong
2022-01-20  0:20 ` [PATCH 32/45] libxlog: replace xfs_sb_version checks with feature flag checks Darrick J. Wong
2022-01-28 22:03   ` Eric Sandeen
2022-01-20  0:20 ` [PATCH 33/45] libxfs: " Darrick J. Wong
2022-01-28 22:13   ` Eric Sandeen
2022-01-28 22:18     ` Darrick J. Wong
2022-01-20  0:20 ` [PATCH 34/45] xfs_{copy,db,logprint,repair}: " Darrick J. Wong
2022-01-28 22:16   ` Eric Sandeen
2022-01-20  0:20 ` [PATCH 35/45] xfs: remove unused xfs_sb_version_has wrappers Darrick J. Wong
2022-01-20  0:20 ` [PATCH 36/45] xfs: introduce xfs_sb_is_v5 helper Darrick J. Wong
2022-01-20  0:20 ` [PATCH 37/45] xfs: kill xfs_sb_version_has_v3inode() Darrick J. Wong
2022-01-20  0:20 ` [PATCH 38/45] libxfs: use opstate flags and functions for libxfs mount options Darrick J. Wong
2022-01-27 20:43   ` Eric Sandeen
2022-01-20  0:20 ` [PATCH 39/45] libxfs: remove pointless *XFS_MOUNT* flags Darrick J. Wong
2022-01-27 23:03   ` Eric Sandeen
2022-01-28  0:53     ` Darrick J. Wong
2022-01-28 20:01   ` Eric Sandeen
2022-01-28 21:59     ` Darrick J. Wong
2022-01-28 22:43   ` [PATCH v1.1 " Darrick J. Wong
2022-01-28 22:59     ` Eric Sandeen
2022-01-31 21:29     ` Eric Sandeen
2022-01-20  0:21 ` [PATCH 40/45] libxfs: clean up remaining LIBXFS_MOUNT flags Darrick J. Wong
2022-01-28 20:12   ` Eric Sandeen
2022-01-20  0:21 ` [PATCH 41/45] libxfs: always initialize internal buffer map Darrick J. Wong
2022-01-28 20:31   ` Eric Sandeen
2022-01-28 22:03     ` Darrick J. Wong
2022-01-28 22:27       ` Eric Sandeen
2022-01-31 20:30   ` Eric Sandeen
2022-01-20  0:21 ` [PATCH 42/45] libxfs: replace XFS_BUF_SET_ADDR with a function Darrick J. Wong
2022-01-28 20:53   ` Eric Sandeen
2022-01-28 23:04     ` Darrick J. Wong
2022-01-31 20:44       ` Eric Sandeen
2022-01-20  0:21 ` [PATCH 43/45] xfs: introduce xfs_buf_daddr() Darrick J. Wong
2022-01-20  0:21 ` [PATCH 44/45] xfs: convert bp->b_bn references to xfs_buf_daddr() Darrick J. Wong
2022-01-20  0:21 ` [PATCH 45/45] libxfs: rename buffer cache index variable b_bn Darrick J. Wong
2022-01-28 21:37   ` Eric Sandeen
2022-01-28 22:14     ` Darrick J. Wong [this message]
2022-01-28 22:31       ` Eric Sandeen
2022-01-28 20:54 ` [PATCHSET 00/45] xfsprogs: sync libxfs with 5.15 Eric Sandeen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220128221439.GI13540@magnolia \
    --to=djwong@kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=sandeen@sandeen.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).