Skip to content

Commit 630785b

Browse files
Darrick J. Wongcmaiolino
authored andcommitted
xfs: always warn about deprecated mount options
The deprecation of the 'attr2' mount option in 6.18 wasn't entirely successful because nobody noticed that the kernel never printed a warning about attr2 being set in fstab if the only xfs filesystem is the root fs; the initramfs mounts the root fs with no mount options; and the init scripts only conveyed the fstab options by remounting the root fs. Fix this by making it complain all the time. Cc: [email protected] # v5.13 Fixes: 92cf7d3 ("xfs: Skip repetitive warnings about mount options") Signed-off-by: Darrick J. Wong <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Reviewed-by: Carlos Maiolino <[email protected]> Signed-off-by: Carlos Maiolino <[email protected]>
1 parent bd721ec commit 630785b

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

fs/xfs/xfs_super.c

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,16 +1379,25 @@ suffix_kstrtoull(
13791379
static inline void
13801380
xfs_fs_warn_deprecated(
13811381
struct fs_context *fc,
1382-
struct fs_parameter *param,
1383-
uint64_t flag,
1384-
bool value)
1382+
struct fs_parameter *param)
13851383
{
1386-
/* Don't print the warning if reconfiguring and current mount point
1387-
* already had the flag set
1384+
/*
1385+
* Always warn about someone passing in a deprecated mount option.
1386+
* Previously we wouldn't print the warning if we were reconfiguring
1387+
* and current mount point already had the flag set, but that was not
1388+
* the right thing to do.
1389+
*
1390+
* Many distributions mount the root filesystem with no options in the
1391+
* initramfs and rely on mount -a to remount the root fs with the
1392+
* options in fstab. However, the old behavior meant that there would
1393+
* never be a warning about deprecated mount options for the root fs in
1394+
* /etc/fstab. On a single-fs system, that means no warning at all.
1395+
*
1396+
* Compounding this problem are distribution scripts that copy
1397+
* /proc/mounts to fstab, which means that we can't remove mount
1398+
* options unless we're 100% sure they have only ever been advertised
1399+
* in /proc/mounts in response to explicitly provided mount options.
13881400
*/
1389-
if ((fc->purpose & FS_CONTEXT_FOR_RECONFIGURE) &&
1390-
!!(XFS_M(fc->root->d_sb)->m_features & flag) == value)
1391-
return;
13921401
xfs_warn(fc->s_fs_info, "%s mount option is deprecated.", param->key);
13931402
}
13941403

0 commit comments

Comments
 (0)