update check on valid sb fields being modified on mount
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....
Signed-off-by Dave Chinner <[email protected]>
--- fs/xfs/xfs_mount.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
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,
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....
Signed-off-by Dave Chinner <[email protected]>--- 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