[PATCH 14/25] libxfs: convert libxfs_log_clear to use uncached buffers

Darrick J. Wong
2020-02-25T00:13:48Z

Convert the log clearing function to use uncached buffers like
everything else, instead of using the raw buffer get/put functions.
This will eventually enable us to hide them more effectively.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
libxfs/rdwr.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
index d607a565..739f4aed 100644
--- a/libxfs/rdwr.c
+++ b/libxfs/rdwr.c
@@ -1413,15 +1413,13 @@ libxfs_log_clear(
/* write out the first log record */
ptr = dptr;
if (btp) {
- bp = libxfs_getbufr(btp, start, len);
+ bp = libxfs_getbufr_uncached(btp, start, len);
ptr = bp->b_addr;
}
libxfs_log_header(ptr, fs_uuid, version, sunit, fmt, lsn, tail_lsn,
next, bp);
- if (bp) {
- bp->b_flags |= LIBXFS_B_DIRTY;
- libxfs_putbufr(bp);
- }
+ if (bp)
+ libxfs_writebuf(bp, 0);

/*
* There's nothing else to do if this is a log reset. The kernel detects
@@ -1461,7 +1459,7 @@ libxfs_log_clear(

ptr = dptr;
if (btp) {
- bp = libxfs_getbufr(btp, blk, len);
+ bp = libxfs_getbufr_uncached(btp, blk, len);
ptr = bp->b_addr;
}
/*
@@ -1470,10 +1468,8 @@ libxfs_log_clear(
*/
libxfs_log_header(ptr, fs_uuid, version, BBTOB(len), fmt, lsn,
tail_lsn, next, bp);
- if (bp) {
- bp->b_flags |= LIBXFS_B_DIRTY;
- libxfs_putbufr(bp);
- }
+ if (bp)
+ libxfs_writebuf(bp, 0);

blk += len;
if (dptr)