]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
libxfs: convert buffer priority get/set macros to functions
authorDarrick J. Wong <darrick.wong@oracle.com>
Sun, 1 Mar 2020 17:34:11 +0000 (12:34 -0500)
committerEric Sandeen <sandeen@sandeen.net>
Sun, 1 Mar 2020 17:34:11 +0000 (12:34 -0500)
Convert these shouty macros to proper functions.  We can't make them
static inline functions unless I f the 'libxfs_bcache' reference.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
[sandeen: fix a couple long lines]
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/libxfs_io.h
libxfs/rdwr.c
repair/prefetch.c

index 957f0396a9cecd3c5656cb9062b187e2e9b30ad9..a0605882bcd210d94d8dfd78755ddc33b5b02c8b 100644 (file)
@@ -107,11 +107,9 @@ typedef unsigned int xfs_buf_flags_t;
 
 #define XFS_BUF_SET_ADDR(bp,blk)       ((bp)->b_bn = (blk))
 
-#define XFS_BUF_SET_PRIORITY(bp,pri)   cache_node_set_priority( \
-                                               libxfs_bcache, \
-                                               &(bp)->b_node, \
-                                               (pri))
-#define XFS_BUF_PRIORITY(bp)           (cache_node_get_priority(&(bp)->b_node))
+void libxfs_buf_set_priority(struct xfs_buf *bp, int priority);
+int libxfs_buf_priority(struct xfs_buf *bp);
+
 #define xfs_buf_set_ref(bp,ref)                ((void) 0)
 #define xfs_buf_ioerror(bp,err)                ((bp)->b_error = (err))
 
index 79d7458361348b882397399d37e61833101df069..7430ff099f3b692dc33cc22b67a65ed7d1870773 100644 (file)
@@ -1577,3 +1577,17 @@ libxfs_log_header(
        return BBTOB(len);
 }
 
+void
+libxfs_buf_set_priority(
+       struct xfs_buf  *bp,
+       int             priority)
+{
+       cache_node_set_priority(libxfs_bcache, &bp->b_node, priority);
+}
+
+int
+libxfs_buf_priority(
+       struct xfs_buf  *bp)
+{
+       return cache_node_get_priority(&bp->b_node);
+}
index 7f705cc07aa52859a9e94c9d387a04d43bf4081f..243d03a7fbb23eb0e685560868b0be8d3d178976 100644 (file)
@@ -127,12 +127,12 @@ pf_queue_io(
        if (bp->b_flags & LIBXFS_B_UPTODATE) {
                if (B_IS_INODE(flag))
                        pf_read_inode_dirs(args, bp);
-               XFS_BUF_SET_PRIORITY(bp, XFS_BUF_PRIORITY(bp) +
+               libxfs_buf_set_priority(bp, libxfs_buf_priority(bp) +
                                                CACHE_PREFETCH_PRIORITY);
                libxfs_buf_relse(bp);
                return;
        }
-       XFS_BUF_SET_PRIORITY(bp, flag);
+       libxfs_buf_set_priority(bp, flag);
 
        pthread_mutex_lock(&args->lock);
 
@@ -146,7 +146,7 @@ pf_queue_io(
                }
        } else {
                ASSERT(!B_IS_INODE(flag));
-               XFS_BUF_SET_PRIORITY(bp, B_DIR_META_2);
+               libxfs_buf_set_priority(bp, B_DIR_META_2);
        }
 
        pftrace("getbuf %c %p (%llu) in AG %d (fsbno = %lu) added to queue"
@@ -276,7 +276,7 @@ pf_scan_lbtree(
        if (!bp)
                return 0;
 
-       XFS_BUF_SET_PRIORITY(bp, isadir ? B_DIR_BMAP : B_BMAP);
+       libxfs_buf_set_priority(bp, isadir ? B_DIR_BMAP : B_BMAP);
 
        /*
         * If the verifier flagged a problem with the buffer, we can't trust
@@ -454,7 +454,7 @@ pf_read_inode_dirs(
                }
        }
        if (hasdir)
-               XFS_BUF_SET_PRIORITY(bp, B_DIR_INODE);
+               libxfs_buf_set_priority(bp, B_DIR_INODE);
 }
 
 /*
@@ -502,7 +502,7 @@ pf_batch_read(
                        }
 
                        if (which != PF_META_ONLY ||
-                                  !B_IS_INODE(XFS_BUF_PRIORITY(bplist[num])))
+                                 !B_IS_INODE(libxfs_buf_priority(bplist[num])))
                                num++;
                        if (num == MAX_BUFS)
                                break;
@@ -548,7 +548,7 @@ pf_batch_read(
 
                if (which == PF_PRIMARY) {
                        for (inode_bufs = 0, i = 0; i < num; i++) {
-                               if (B_IS_INODE(XFS_BUF_PRIORITY(bplist[i])))
+                               if (B_IS_INODE(libxfs_buf_priority(bplist[i])))
                                        inode_bufs++;
                        }
                        args->inode_bufs_queued -= inode_bufs;
@@ -598,19 +598,20 @@ pf_batch_read(
                                bplist[i]->b_flags |= (LIBXFS_B_UPTODATE |
                                                       LIBXFS_B_UNCHECKED);
                                len -= size;
-                               if (B_IS_INODE(XFS_BUF_PRIORITY(bplist[i])))
+                               if (B_IS_INODE(libxfs_buf_priority(bplist[i])))
                                        pf_read_inode_dirs(args, bplist[i]);
                                else if (which == PF_META_ONLY)
-                                       XFS_BUF_SET_PRIORITY(bplist[i],
+                                       libxfs_buf_set_priority(bplist[i],
                                                                B_DIR_META_H);
                                else if (which == PF_PRIMARY && num == 1)
-                                       XFS_BUF_SET_PRIORITY(bplist[i],
+                                       libxfs_buf_set_priority(bplist[i],
                                                                B_DIR_META_S);
                        }
                }
                for (i = 0; i < num; i++) {
                        pftrace("putbuf %c %p (%llu) in AG %d",
-                               B_IS_INODE(XFS_BUF_PRIORITY(bplist[i])) ? 'I' : 'M',
+                               B_IS_INODE(libxfs_buf_priority(bplist[i])) ?
+                                                                     'I' : 'M',
                                bplist[i], (long long)XFS_BUF_ADDR(bplist[i]),
                                args->agno);
                        libxfs_buf_relse(bplist[i]);