Re: [PATCH 03/14] repair: kill B_IS_META flag

Eric Sandeen
2009-10-12T19:43:58Z

Christoph Hellwig wrote:

> B_IS_META is the inverse flag of B_IS_INODE which is not really obvious
> from it's use. So just use !B_IS_INODE to make it more clear.
>

Logic-wise it's fine, but is this change really helpful? The comment says:

/*
* Test if bit 0 or 2 is set in the "priority tag" of the buffer to see if
* the buffer is for an inode or other metadata.
*/

so basically it distinguishes inodes from other metadata right.

!B_IS_INODE() seems less than helpful...

B_IS_INODE is clear; B_IS_META is pretty clear, "!B_IS_INODE" seems muddy; so
very many things are "not inodes" :)

-Eric
> Signed-off-by: Christoph Hellwig <hch@lst.de>
>
> Index: xfsprogs-dev/repair/prefetch.c
> ===================================================================
> --- xfsprogs-dev.orig/repair/prefetch.c 2009-08-20 00:02:25.000000000 +0000
> +++ xfsprogs-dev/repair/prefetch.c 2009-08-20 00:05:36.000000000 +0000
> @@ -64,7 +64,6 @@
> * the buffer is for an inode or other metadata.
> */
> #define B_IS_INODE(f) (((f) & 5) == 0)
> -#define B_IS_META(f) (((f) & 5) != 0)
>
> #define DEF_BATCH_BYTES 0x10000
>
> @@ -131,7 +130,7 @@
>
> if (fsbno > args->last_bno_read) {
> radix_tree_insert(&args->primary_io_queue, fsbno, bp);
> - if (B_IS_META(flag))
> + if (!B_IS_INODE(flag))
> radix_tree_tag_set(&args->primary_io_queue, fsbno, 0);
> else {
> args->inode_bufs_queued++;
> @@ -153,7 +152,7 @@
> (long long)XFS_BUF_ADDR(bp), args->agno, fsbno,
> args->last_bno_read);
> #endif
> - ASSERT(B_IS_META(flag));
> + ASSERT(!B_IS_INODE(flag));
> XFS_BUF_SET_PRIORITY(bp, B_DIR_META_2);
> radix_tree_insert(&args->secondary_io_queue, fsbno, bp);
> }
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs