diff options
Diffstat (limited to 'fs/xfs/xfs_mount.c')
-rw-r--r-- | fs/xfs/xfs_mount.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index da3988453b71..361c7a755a07 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c | |||
@@ -994,9 +994,19 @@ xfs_mountfs( | |||
994 | * Re-check for ATTR2 in case it was found in bad_features2 | 994 | * Re-check for ATTR2 in case it was found in bad_features2 |
995 | * slot. | 995 | * slot. |
996 | */ | 996 | */ |
997 | if (xfs_sb_version_hasattr2(&mp->m_sb)) | 997 | if (xfs_sb_version_hasattr2(&mp->m_sb) && |
998 | !(mp->m_flags & XFS_MOUNT_NOATTR2)) | ||
998 | mp->m_flags |= XFS_MOUNT_ATTR2; | 999 | mp->m_flags |= XFS_MOUNT_ATTR2; |
1000 | } | ||
1001 | |||
1002 | if (xfs_sb_version_hasattr2(&mp->m_sb) && | ||
1003 | (mp->m_flags & XFS_MOUNT_NOATTR2)) { | ||
1004 | xfs_sb_version_removeattr2(&mp->m_sb); | ||
1005 | update_flags |= XFS_SB_FEATURES2; | ||
999 | 1006 | ||
1007 | /* update sb_versionnum for the clearing of the morebits */ | ||
1008 | if (!sbp->sb_features2) | ||
1009 | update_flags |= XFS_SB_VERSIONNUM; | ||
1000 | } | 1010 | } |
1001 | 1011 | ||
1002 | /* | 1012 | /* |