All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: sandeen@sandeen.net, darrick.wong@oracle.com
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH 26/26] libxfs: convert buffer priority get/set macros to functions
Date: Fri, 28 Feb 2020 15:39:03 -0800	[thread overview]
Message-ID: <158293314326.1549542.4350225962633251739.stgit@magnolia> (raw)
In-Reply-To: <158293297395.1549542.18143701542461010748.stgit@magnolia>

From: Darrick J. Wong <darrick.wong@oracle.com>

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>
---
 libxfs/libxfs_io.h |    8 +++-----
 libxfs/rdwr.c      |   14 ++++++++++++++
 repair/prefetch.c  |   22 +++++++++++-----------
 3 files changed, 28 insertions(+), 16 deletions(-)


diff --git a/libxfs/libxfs_io.h b/libxfs/libxfs_io.h
index 957f0396..a0605882 100644
--- a/libxfs/libxfs_io.h
+++ b/libxfs/libxfs_io.h
@@ -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))
 
diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
index 79d74583..7430ff09 100644
--- a/libxfs/rdwr.c
+++ b/libxfs/rdwr.c
@@ -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);
+}
diff --git a/repair/prefetch.c b/repair/prefetch.c
index 7f705cc0..0a317b19 100644
--- a/repair/prefetch.c
+++ b/repair/prefetch.c
@@ -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,19 @@ 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]);


  parent reply	other threads:[~2020-02-28 23:39 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-28 23:36 [PATCH v3 00/26] xfsprogs: refactor buffer function names Darrick J. Wong
2020-02-28 23:36 ` [PATCH 01/26] libxfs: open-code "exit on buffer read failure" in upper level callers Darrick J. Wong
2020-02-28 23:36 ` [PATCH 02/26] libxfs: remove LIBXFS_EXIT_ON_FAILURE Darrick J. Wong
2020-02-28 23:36 ` [PATCH 03/26] libxfs: remove LIBXFS_B_EXIT Darrick J. Wong
2020-02-28 23:36 ` [PATCH 04/26] libxfs: replace libxfs_putbuf with libxfs_buf_relse Darrick J. Wong
2020-02-28 23:36 ` [PATCH 05/26] libxfs: replace libxfs_getbuf with libxfs_buf_get Darrick J. Wong
2020-02-28 23:36 ` [PATCH 06/26] libxfs: replace libxfs_readbuf with libxfs_buf_read Darrick J. Wong
2020-02-28 23:37 ` [PATCH 07/26] libxfs: rename libxfs_writebufr to libxfs_bwrite Darrick J. Wong
2020-02-28 23:37 ` [PATCH 08/26] libxfs: make libxfs_readbuf_verify return an error code Darrick J. Wong
2020-02-28 23:37 ` [PATCH 09/26] libxfs: make libxfs_readbufr stash the error value in b_error Darrick J. Wong
2020-02-28 23:37 ` [PATCH 10/26] libxfs: introduce libxfs_buf_read_uncached Darrick J. Wong
2020-02-28 23:37 ` [PATCH 11/26] xfs_db: use uncached buffer reads to get the superblock Darrick J. Wong
2020-02-28 23:37 ` [PATCH 12/26] xfs_copy: " Darrick J. Wong
2020-02-28 23:37 ` [PATCH 13/26] libxfs: move log functions for convenience Darrick J. Wong
2020-02-29 22:35   ` Eric Sandeen
2020-02-28 23:37 ` [PATCH 14/26] libxfs: convert libxfs_log_clear to use uncached buffers Darrick J. Wong
2020-02-29 22:45   ` Eric Sandeen
2020-02-28 23:37 ` [PATCH 15/26] libxlog: use uncached buffers instead of open-coding them Darrick J. Wong
2020-02-28 23:38 ` [PATCH 16/26] libxfs: use uncached buffers for initial mkfs writes Darrick J. Wong
2020-02-28 23:38 ` [PATCH 17/26] libxfs: straighten out libxfs_writebuf naming confusion Darrick J. Wong
2020-02-28 23:38 ` [PATCH 18/26] libxfs: remove unused flags parameter to libxfs_buf_mark_dirty Darrick J. Wong
2020-02-28 23:38 ` [PATCH 19/26] libxfs: remove libxfs_writebuf_int Darrick J. Wong
2020-02-28 23:38 ` [PATCH 20/26] libxfs: remove dangerous casting between xfs_buf and cache_node Darrick J. Wong
2020-02-28 23:38 ` [PATCH 21/26] libxfs: remove dangerous casting between cache_node and xfs_buf Darrick J. Wong
2020-02-28 23:38 ` [PATCH 22/26] libxfs: remove the libxfs_{get,put}bufr APIs Darrick J. Wong
2020-02-28 23:38 ` [PATCH 23/26] libxfs: hide libxfs_getbuf_flags Darrick J. Wong
2020-02-28 23:38 ` [PATCH 24/26] libxfs: rename libxfs_readbuf_map to libxfs_buf_read_map Darrick J. Wong
2020-02-28 23:38 ` [PATCH 25/26] libxfs: rename libxfs_getbuf_map to libxfs_buf_get_map Darrick J. Wong
2020-02-28 23:39 ` Darrick J. Wong [this message]
2020-02-29 22:52   ` [PATCH 26/26] libxfs: convert buffer priority get/set macros to functions 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=158293314326.1549542.4350225962633251739.stgit@magnolia \
    --to=darrick.wong@oracle.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.