Browse Source

xfs: remove XFS_BUF_ZEROFLAGS macro

The places where we use this macro already clear unnecessary IO
flags (e.g. through xfs_bwrite()) or never have unexpected IO flags
set on them in the first place (e.g. iclog buffers). Remove the
macro from these locations, and where necessary clear only the
specific flags that are conditional in the current buffer context.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Dave Chinner 9 years ago
parent
commit
12877da584
3 changed files with 2 additions and 9 deletions
  1. 0 6
      fs/xfs/xfs_buf.h
  2. 2 2
      fs/xfs/xfs_log.c
  3. 0 1
      fs/xfs/xfs_log_recover.c

+ 0 - 6
fs/xfs/xfs_buf.h

@@ -313,12 +313,6 @@ extern int xfs_buf_delwri_submit_nowait(struct list_head *);
 extern int xfs_buf_init(void);
 extern int xfs_buf_init(void);
 extern void xfs_buf_terminate(void);
 extern void xfs_buf_terminate(void);
 
 
-#define XFS_BUF_ZEROFLAGS(bp) \
-	((bp)->b_flags &= ~(XBF_READ|XBF_WRITE|XBF_ASYNC| \
-			    XBF_SYNCIO|XBF_FUA|XBF_FLUSH| \
-			    XBF_WRITE_FAIL))
-
-
 /*
 /*
  * These macros use the IO block map rather than b_bn. b_bn is now really
  * These macros use the IO block map rather than b_bn. b_bn is now really
  * just for the buffer cache index for cached buffers. As IO does not use b_bn
  * just for the buffer cache index for cached buffers. As IO does not use b_bn

+ 2 - 2
fs/xfs/xfs_log.c

@@ -1864,7 +1864,7 @@ xlog_sync(
 
 
 	bp->b_io_length = BTOBB(count);
 	bp->b_io_length = BTOBB(count);
 	bp->b_fspriv = iclog;
 	bp->b_fspriv = iclog;
-	XFS_BUF_ZEROFLAGS(bp);
+	bp->b_flags &= ~(XBF_FUA | XBF_FLUSH);
 	bp->b_flags |= (XBF_ASYNC | XBF_SYNCIO | XBF_WRITE);
 	bp->b_flags |= (XBF_ASYNC | XBF_SYNCIO | XBF_WRITE);
 
 
 	if (log->l_mp->m_flags & XFS_MOUNT_BARRIER) {
 	if (log->l_mp->m_flags & XFS_MOUNT_BARRIER) {
@@ -1908,7 +1908,7 @@ xlog_sync(
 		xfs_buf_associate_memory(bp,
 		xfs_buf_associate_memory(bp,
 				(char *)&iclog->ic_header + count, split);
 				(char *)&iclog->ic_header + count, split);
 		bp->b_fspriv = iclog;
 		bp->b_fspriv = iclog;
-		XFS_BUF_ZEROFLAGS(bp);
+		bp->b_flags &= ~(XBF_FUA | XBF_FLUSH);
 		bp->b_flags |= (XBF_ASYNC | XBF_SYNCIO | XBF_WRITE);
 		bp->b_flags |= (XBF_ASYNC | XBF_SYNCIO | XBF_WRITE);
 		if (log->l_mp->m_flags & XFS_MOUNT_BARRIER)
 		if (log->l_mp->m_flags & XFS_MOUNT_BARRIER)
 			bp->b_flags |= XBF_FUA;
 			bp->b_flags |= XBF_FUA;

+ 0 - 1
fs/xfs/xfs_log_recover.c

@@ -275,7 +275,6 @@ xlog_bwrite(
 	ASSERT(nbblks <= bp->b_length);
 	ASSERT(nbblks <= bp->b_length);
 
 
 	XFS_BUF_SET_ADDR(bp, log->l_logBBstart + blk_no);
 	XFS_BUF_SET_ADDR(bp, log->l_logBBstart + blk_no);
-	XFS_BUF_ZEROFLAGS(bp);
 	xfs_buf_hold(bp);
 	xfs_buf_hold(bp);
 	xfs_buf_lock(bp);
 	xfs_buf_lock(bp);
 	bp->b_io_length = nbblks;
 	bp->b_io_length = nbblks;