Skip to contentSkip to conversation

Remove XFS_BUF_SHUT() and friends

PATCH In review Lachlan McIlroy 2 participants 4 messages Dec 4, 2008 – Dec 17, 2008 XFS filesystem

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove XFS_BUF_SHUT() and friends

Code does nothing so remove it.

fs/xfs/linux-2.6/xfs_buf.h +0 -4
@@ -311,10 +311,6 @@ extern void xfs_buf_trace(xfs_buf_t *, c
  #define XFS_BUF_UNORDERED(bp)	((bp)->b_flags &= ~XBF_ORDERED)
  #define XFS_BUF_ISORDERED(bp)	((bp)->b_flags & XBF_ORDERED)
 
-#define XFS_BUF_SHUT(bp)	do { } while (0)
-#define XFS_BUF_UNSHUT(bp)	do { } while (0)
-#define XFS_BUF_ISSHUT(bp)	(0)
-
  #define XFS_BUF_HOLD(bp)	xfs_buf_hold(bp)
  #define XFS_BUF_READ(bp)	((bp)->b_flags |= XBF_READ)
  #define XFS_BUF_UNREAD(bp)	((bp)->b_flags &= ~XBF_READ)
fs/xfs/xfs_buf_item.c +1 -15
@@ -998,21 +1000,7 @@ xfs_buf_iodone_callbacks(
  			xfs_buf_do_callbacks(bp, lip);
  			XFS_BUF_SET_FSPRIVATE(bp, NULL);
  			XFS_BUF_CLR_IODONE_FUNC(bp);
-
-			/*
-			 * XFS_SHUT flag gets set when we go thru the
-			 * entire buffer cache and deliberately start
-			 * throwing away delayed write buffers.
-			 * Since there's no biowait done on those,
-			 * we should just brelse them.
-			 */
-			if (XFS_BUF_ISSHUT(bp)) {
-			    XFS_BUF_UNSHUT(bp);
-				xfs_buf_relse(bp);
-			} else {
-				xfs_biodone(bp);
-			}
-
+			xfs_biodone(bp);
  			return;
  		}
 
fs/xfs/xfs_inode.c +0 -1
@@ -3089,7 +3089,6 @@ cluster_corrupt_out:
  			XFS_BUF_CLR_BDSTRAT_FUNC(bp);
  			XFS_BUF_UNDONE(bp);
  			XFS_BUF_STALE(bp);
-			XFS_BUF_SHUT(bp);
  			XFS_BUF_ERROR(bp,EIO);
  			xfs_biodone(bp);
  		} else {

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#2 lore raw
Quoted 4 lines · Christoph Hellwig
Quoted 1 line · Lachlan McIlroy

Code does nothing so remove it.

Looks good to me. Does anyone remember why this flag was set on IRIX?

During a forced shutdown we would go through all incore buffers and mark them B_STALE/B_ERROR/B_SHUT and then call biodone() on them. The code in xfs_buf_iodone_callbacks() that checks for B_SHUT is to avoid a double biodone() I think. We don't have the code in the Linux port that scans through all the incore buffers on a forced shutdown but we still have one case in xfs_iflush_cluster(). In any case it's not doing anything.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#3 lore raw
Quoted 4 lines · Lachlan McIlroy
Quoted 3 lines · Christoph Hellwig
Quoted 1 line · Lachlan McIlroy

Code does nothing so remove it.

Quoted 8 lines
Quoted 1 line

Looks good to me. Does anyone remember why this flag was set on IRIX?

During a forced shutdown we would go through all incore buffers and mark them B_STALE/B_ERROR/B_SHUT and then call biodone() on them. The code in xfs_buf_iodone_callbacks() that checks for B_SHUT is to avoid a double biodone() I think. We don't have the code in the Linux port that scans through all the incore buffers on a forced shutdown but we still have one case in xfs_iflush_cluster(). In any case it's not doing anything.

Ok.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs