Skip to contentSkip to conversation

Patch "xfs: fix superblock inprogress check" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Sep 9, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

xfs: fix superblock inprogress check

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
xfs-fix-superblock-inprogress-check.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From f3d7ebdeb2c297bd26272384e955033493ca291c Mon Sep 17 00:00:00 2001

From: Dave Chinner <[email protected]>
Date: Fri, 26 Aug 2016 16:01:30 +1000
Subject: xfs: fix superblock inprogress check

From: Dave Chinner <[email protected]>

commit f3d7ebdeb2c297bd26272384e955033493ca291c upstream.

Quoted 1 line

From inspection, the superblock sb_inprogress check is done in the

verifier and triggered only for the primary superblock via a "bp->b_bn == XFS_SB_DADDR" check.

Unfortunately, the primary superblock is an uncached buffer, and hence it is configured by xfs_buf_read_uncached() with:

	bp->b_bn = XFS_BUF_DADDR_NULL;  /* always null for uncached buffers */

And so this check never triggers. Fix it.

---
 fs/xfs/libxfs/xfs_sb.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
fs/xfs/libxfs/xfs_sb.c +2 -1
@@ -581,7 +581,8 @@ xfs_sb_verify(
 	 * Only check the in progress field for the primary superblock as
 	 * mkfs.xfs doesn't clear it from secondary superblocks.
 	 */
-	return xfs_mount_validate_sb(mp, &sb, bp->b_bn == XFS_SB_DADDR,
+	return xfs_mount_validate_sb(mp, &sb,
+				     bp->b_maps[0].bm_bn == XFS_SB_DADDR,
 				     check_version);
 }
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/xfs-fix-superblock-inprogress-check.patch