Skip to contentSkip to conversation

update check on valid sb fields being modified on mount

PATCH In review David Chinner 2 participants 2 messages May 16, 2008 XFS filesystem

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 update check on valid sb fields being modified on mount

Recent changes to update the version number during mount (attr2 stuff) failed to change the assert that checked for calid flags being changed on mount. Clearly this path hasn't been exercised by the test code....

---
 fs/xfs/xfs_mount.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
fs/xfs/xfs_mount.c +2 -1
Index: 2.6.x-xfs-new/fs/xfs/xfs_mount.c
===================================================================
@@ -1887,7 +1887,8 @@ xfs_mount_log_sb(
 	int		error;
 
 	ASSERT(fields & (XFS_SB_UNIT | XFS_SB_WIDTH | XFS_SB_UUID |
-			 XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2));
+			 XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2 |
+			 XFS_SB_VERSIONNUM));
 
 	tp = xfs_trans_alloc(mp, XFS_TRANS_SB_UNIT);
 	error = xfs_trans_reserve(tp, 0, mp->m_sb.sb_sectsize + 128, 0, 0,
#1 lore raw
Quoted 17 lines · David Chinner

Recent changes to update the version number during mount (attr2 stuff) failed to change the assert that checked for calid flags being changed on mount. Clearly this path hasn't been exercised by the test code....

---
 fs/xfs/xfs_mount.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Index: 2.6.x-xfs-new/fs/xfs/xfs_mount.c
===================================================================

fs/xfs/xfs_mount.c xfs_mount_log_sb( · line 1894

Quoted 9 lines
fs/xfs/xfs_mount.c +2 -1
@@ -1887,7 +1887,8 @@ xfs_mount_log_sb(
 	int		error;
 
 	ASSERT(fields & (XFS_SB_UNIT | XFS_SB_WIDTH | XFS_SB_UUID |
-			 XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2));
+			 XFS_SB_FEATURES2 | XFS_SB_BAD_FEATURES2 |
+			 XFS_SB_VERSIONNUM));
 
 	tp = xfs_trans_alloc(mp, XFS_TRANS_SB_UNIT);
 	error = xfs_trans_reserve(tp, 0, mp->m_sb.sb_sectsize + 128, 0, 0,

Ah, looks like this is from:

                /* update sb_versionnum for the clearing of the morebits */
                if (!sbp->sb_features2)
                        update_flags |= XFS_SB_VERSIONNUM;

when attr2 gets turned back off?

Anyway, looks fine.

-Eric