Message ID | 20240408133243.694134-2-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] xfs: remove support for tools and kernels with v5 support | expand |
On Mon, Apr 08, 2024 at 03:32:38PM +0200, Christoph Hellwig wrote:
> xfs: remove support for tools and kernels with v5 support
I think you mean tools and kernels *without* v5 support.
- Eric
On Mon, Apr 08, 2024 at 11:03:03AM -0400, Eric Biggers wrote: > On Mon, Apr 08, 2024 at 03:32:38PM +0200, Christoph Hellwig wrote: > > xfs: remove support for tools and kernels with v5 support > > I think you mean tools and kernels *without* v5 support. Yes.
On Mon, Apr 08, 2024 at 03:32:38PM +0200, Christoph Hellwig wrote: > v5 file systems have been the default for more than 10 years. Drop > support for non-v5 enabled kernels and xfsprogs. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Seems fine to me. Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > common/config | 13 ------------- > common/xfs | 26 -------------------------- > tests/xfs/002 | 3 --- > tests/xfs/005 | 1 - > tests/xfs/077 | 1 - > tests/xfs/083 | 2 -- > tests/xfs/132 | 1 - > tests/xfs/148 | 1 - > tests/xfs/263 | 5 ----- > tests/xfs/299 | 2 -- > tests/xfs/304 | 2 -- > tests/xfs/305 | 2 -- > 12 files changed, 59 deletions(-) > > diff --git a/common/config b/common/config > index 2a1434bb1..6a0496fdd 100644 > --- a/common/config > +++ b/common/config > @@ -329,19 +329,6 @@ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then > export SELINUX_MOUNT_OPTIONS > fi > > -# check if mkfs.xfs supports v5 xfs > -if [ "$FSTYP" == "xfs" ]; then > - XFS_MKFS_HAS_NO_META_SUPPORT="" > - touch /tmp/crc_check.img > - $MKFS_XFS_PROG -N -d file,name=/tmp/crc_check.img,size=32m -m crc=0 \ > - >/dev/null 2>&1; > - if [ $? -ne 0 ]; then > - XFS_MKFS_HAS_NO_META_SUPPORT=true > - fi > - rm -f /tmp/crc_check.img > - export XFS_MKFS_HAS_NO_META_SUPPORT > -fi > - > _common_mount_opts() > { > case $FSTYP in > diff --git a/common/xfs b/common/xfs > index 65b509691..57d21762c 100644 > --- a/common/xfs > +++ b/common/xfs > @@ -59,11 +59,6 @@ _scratch_mkfs_xfs_opts() > { > mkfs_opts=$* > > - # remove metadata related mkfs options if mkfs.xfs doesn't them > - if [ -n "$XFS_MKFS_HAS_NO_META_SUPPORT" ]; then > - mkfs_opts=`echo $mkfs_opts | sed "s/-m\s\+\S\+//g"` > - fi > - > _scratch_options mkfs > > echo "$MKFS_XFS_PROG $SCRATCH_OPTIONS $mkfs_opts" > @@ -439,24 +434,6 @@ _require_projid16bit() > || _notrun "16 bit project IDs not supported on $SCRATCH_DEV" > } > > -# this test requires the crc feature to be available in mkfs.xfs > -# > -_require_xfs_mkfs_crc() > -{ > - _scratch_mkfs_xfs_supported -m crc=1 >/dev/null 2>&1 \ > - || _notrun "mkfs.xfs doesn't have crc feature" > -} > - > -# this test requires the xfs kernel support crc feature > -# > -_require_xfs_crc() > -{ > - _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1 > - _try_scratch_mount >/dev/null 2>&1 \ > - || _notrun "Kernel doesn't support crc feature" > - _scratch_unmount > -} > - > # If the xfs_info output for the given XFS filesystem mount mentions the given > # feature. If so, return 0 for success. If not, return 1 for failure. If the > # third option is -v, echo 1 for success and 0 for not. > @@ -1268,9 +1245,6 @@ _require_scratch_xfs_shrink() > # > _require_meta_uuid() > { > - # This will create a crc fs on $SCRATCH_DEV > - _require_xfs_crc > - > _scratch_xfs_db -x -c "uuid restore" 2>&1 \ > | grep -q "invalid UUID\|supported on V5 fs" \ > && _notrun "Userspace doesn't support meta_uuid feature" > diff --git a/tests/xfs/002 b/tests/xfs/002 > index 6c0bb4d04..8dfd2693b 100755 > --- a/tests/xfs/002 > +++ b/tests/xfs/002 > @@ -24,9 +24,6 @@ _supported_fs xfs > _require_scratch_nocheck > _require_no_large_scratch_dev > > -# So we can explicitly turn it _off_: > -_require_xfs_mkfs_crc > - > _scratch_mkfs_xfs -m crc=0 -d size=128m >> $seqres.full 2>&1 || _fail "mkfs failed" > > # Scribble past a couple V4 secondary superblocks to populate sb_crc > diff --git a/tests/xfs/005 b/tests/xfs/005 > index 5f1ab8348..019790295 100755 > --- a/tests/xfs/005 > +++ b/tests/xfs/005 > @@ -20,7 +20,6 @@ _begin_fstest auto quick > _supported_fs xfs > > _require_scratch_nocheck > -_require_xfs_mkfs_crc > > _scratch_mkfs_xfs -m crc=1 >> $seqres.full 2>&1 || _fail "mkfs failed" > > diff --git a/tests/xfs/077 b/tests/xfs/077 > index f24f6f004..37ea931f1 100755 > --- a/tests/xfs/077 > +++ b/tests/xfs/077 > @@ -24,7 +24,6 @@ _supported_fs xfs > _require_xfs_copy > _require_scratch > _require_no_large_scratch_dev > -_require_xfs_crc > _require_meta_uuid > > # Takes 2 args, 2nd optional: > diff --git a/tests/xfs/083 b/tests/xfs/083 > index edab3b7b0..e8ce2221c 100755 > --- a/tests/xfs/083 > +++ b/tests/xfs/083 > @@ -28,8 +28,6 @@ _cleanup() > _supported_fs xfs > > _require_scratch > -#_require_xfs_crc # checksum not required, but you probably want it anyway... > -#_require_xfs_mkfs_crc > _require_attrs > _require_populate_commands > > diff --git a/tests/xfs/132 b/tests/xfs/132 > index fa36c09c2..ee1c8c1ec 100755 > --- a/tests/xfs/132 > +++ b/tests/xfs/132 > @@ -24,7 +24,6 @@ _require_scratch_nocheck > # due to transaction cancellation. Hence we don't want to check dmesg here. > _disable_dmesg_check > > -_require_xfs_mkfs_crc > _scratch_mkfs -m crc=0 > $seqres.full 2>&1 > > # The files that EIO in the golden output changes if we have quotas enabled > diff --git a/tests/xfs/148 b/tests/xfs/148 > index 5d0a0bf42..c9f634cfd 100755 > --- a/tests/xfs/148 > +++ b/tests/xfs/148 > @@ -27,7 +27,6 @@ _cleanup() > _supported_fs xfs > _require_test > _require_attrs > -_require_xfs_mkfs_crc > _disable_dmesg_check > > imgfile=$TEST_DIR/img-$seq > diff --git a/tests/xfs/263 b/tests/xfs/263 > index bce4e13f9..bd30dab11 100755 > --- a/tests/xfs/263 > +++ b/tests/xfs/263 > @@ -21,11 +21,6 @@ _supported_fs xfs > _require_scratch > _require_xfs_quota > > -# We could test older, non-project capable kernels but keep it simpler; > -# Only test crc and beyond (but we will test with and without the feature) > -_require_xfs_mkfs_crc > -_require_xfs_crc > - > function option_string() > { > VAL=$1 > diff --git a/tests/xfs/299 b/tests/xfs/299 > index 4b9df3c6a..1df1988ac 100755 > --- a/tests/xfs/299 > +++ b/tests/xfs/299 > @@ -31,8 +31,6 @@ chmod a+rwx $seqres.full # arbitrary users will write here > > _require_scratch > _require_xfs_quota > -_require_xfs_mkfs_crc > -_require_xfs_crc > > # The actual point at which limit enforcement takes place for the > # hard block limit is variable depending on filesystem blocksize, > diff --git a/tests/xfs/304 b/tests/xfs/304 > index 3c38e6132..0ee6dad63 100755 > --- a/tests/xfs/304 > +++ b/tests/xfs/304 > @@ -19,8 +19,6 @@ _supported_fs xfs > > _require_scratch > _require_xfs_quota > -_require_xfs_mkfs_crc > -_require_xfs_crc > > _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1 > > diff --git a/tests/xfs/305 b/tests/xfs/305 > index d8a6712e5..e76dfdec1 100755 > --- a/tests/xfs/305 > +++ b/tests/xfs/305 > @@ -19,8 +19,6 @@ _supported_fs xfs > > _require_scratch > _require_xfs_quota > -_require_xfs_mkfs_crc > -_require_xfs_crc > _require_command "$KILLALL_PROG" killall > > _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1 > -- > 2.39.2 > >
On Mon, Apr 08, 2024 at 03:32:38 PM +0200, Christoph Hellwig wrote: > v5 file systems have been the default for more than 10 years. Drop > support for non-v5 enabled kernels and xfsprogs. > Hi, This patch is causing xfs/077 to fail as shown below, # ./check xfs/077 FSTYP -- xfs (debug) PLATFORM -- Linux/x86_64 xfs-crc 6.9.0-rc4+ #2 SMP PREEMPT_DYNAMIC Mon Apr 29 08:08:05 GMT 2024 MKFS_OPTIONS -- -f -f -m crc=1,reflink=0,rmapbt=0, -i sparse=0 /dev/loop6 MOUNT_OPTIONS -- -o usrquota,grpquota,prjquota -o context=system_u:object_r:root_t:s0 /dev/loop6 /media/scratch xfs/077 9s ... [not run] Kernel doesn't support meta_uuid feature Ran: xfs/077 Not run: xfs/077 Passed all 1 tests The corresponding configuration file used had the following, export TEST_DEV=/dev/loop5 export TEST_DIR=/media/test export SCRATCH_DEV=/dev/loop6 export SCRATCH_MNT=/media/scratch MKFS_OPTIONS='-f -m crc=1,reflink=0,rmapbt=0, -i sparse=0' MOUNT_OPTIONS='-o usrquota,grpquota,prjquota'
On Mon, Apr 29, 2024 at 03:04:51PM +0530, Chandan Babu R wrote: > On Mon, Apr 08, 2024 at 03:32:38 PM +0200, Christoph Hellwig wrote: > > v5 file systems have been the default for more than 10 years. Drop > > support for non-v5 enabled kernels and xfsprogs. > > > > Hi, > > This patch is causing xfs/077 to fail as shown below, That's not a failure, but it isn't run. AFAICS it is because _require_meta_uuid expects to work on a scratch fs, but none is generated beforehand as the _require_xfs_mkfs_crc that did that under the hood now went away. The fix is to probably just nuke _require_meta_uuid and explicitly create a CRC-enabled fs. I'll look into that.
On Mon, Apr 29, 2024 at 03:04:51PM +0530, Chandan Babu R wrote: > On Mon, Apr 08, 2024 at 03:32:38 PM +0200, Christoph Hellwig wrote: > > v5 file systems have been the default for more than 10 years. Drop > > support for non-v5 enabled kernels and xfsprogs. > > > > Hi, > > This patch is causing xfs/077 to fail as shown below, > > # ./check xfs/077 > FSTYP -- xfs (debug) > PLATFORM -- Linux/x86_64 xfs-crc 6.9.0-rc4+ #2 SMP PREEMPT_DYNAMIC Mon Apr 29 08:08:05 GMT 2024 > MKFS_OPTIONS -- -f -f -m crc=1,reflink=0,rmapbt=0, -i sparse=0 /dev/loop6 > MOUNT_OPTIONS -- -o usrquota,grpquota,prjquota -o context=system_u:object_r:root_t:s0 /dev/loop6 /media/scratch > > xfs/077 9s ... [not run] Kernel doesn't support meta_uuid feature > Ran: xfs/077 > Not run: xfs/077 > Passed all 1 tests > > The corresponding configuration file used had the following, > > export TEST_DEV=/dev/loop5 > export TEST_DIR=/media/test > export SCRATCH_DEV=/dev/loop6 > export SCRATCH_MNT=/media/scratch > > MKFS_OPTIONS='-f -m crc=1,reflink=0,rmapbt=0, -i sparse=0' > MOUNT_OPTIONS='-o usrquota,grpquota,prjquota' Thanks for finding this issue, the _require_meta_uuid helper or the calling of _require_meta_uuid looks not correct. The xfs/077 calls _require_meta_uuid as: _supported_fs xfs _require_xfs_copy _require_scratch _require_no_large_scratch_dev _require_meta_uuid <===== ... The x/077 hasn't mkfs on SCRATCH_DEV, but the _require_meta_uuid does _scratch_xfs_db directly. That looks not right. I think we should do "_scratch_mkfs ..." before doing _require_meta_uuid. E.g. mkfs at the beginning of _require_meta_uuid. Any thoughts? Thanks, Zorro > > -- > Chandan >
diff --git a/common/config b/common/config index 2a1434bb1..6a0496fdd 100644 --- a/common/config +++ b/common/config @@ -329,19 +329,6 @@ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then export SELINUX_MOUNT_OPTIONS fi -# check if mkfs.xfs supports v5 xfs -if [ "$FSTYP" == "xfs" ]; then - XFS_MKFS_HAS_NO_META_SUPPORT="" - touch /tmp/crc_check.img - $MKFS_XFS_PROG -N -d file,name=/tmp/crc_check.img,size=32m -m crc=0 \ - >/dev/null 2>&1; - if [ $? -ne 0 ]; then - XFS_MKFS_HAS_NO_META_SUPPORT=true - fi - rm -f /tmp/crc_check.img - export XFS_MKFS_HAS_NO_META_SUPPORT -fi - _common_mount_opts() { case $FSTYP in diff --git a/common/xfs b/common/xfs index 65b509691..57d21762c 100644 --- a/common/xfs +++ b/common/xfs @@ -59,11 +59,6 @@ _scratch_mkfs_xfs_opts() { mkfs_opts=$* - # remove metadata related mkfs options if mkfs.xfs doesn't them - if [ -n "$XFS_MKFS_HAS_NO_META_SUPPORT" ]; then - mkfs_opts=`echo $mkfs_opts | sed "s/-m\s\+\S\+//g"` - fi - _scratch_options mkfs echo "$MKFS_XFS_PROG $SCRATCH_OPTIONS $mkfs_opts" @@ -439,24 +434,6 @@ _require_projid16bit() || _notrun "16 bit project IDs not supported on $SCRATCH_DEV" } -# this test requires the crc feature to be available in mkfs.xfs -# -_require_xfs_mkfs_crc() -{ - _scratch_mkfs_xfs_supported -m crc=1 >/dev/null 2>&1 \ - || _notrun "mkfs.xfs doesn't have crc feature" -} - -# this test requires the xfs kernel support crc feature -# -_require_xfs_crc() -{ - _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1 - _try_scratch_mount >/dev/null 2>&1 \ - || _notrun "Kernel doesn't support crc feature" - _scratch_unmount -} - # If the xfs_info output for the given XFS filesystem mount mentions the given # feature. If so, return 0 for success. If not, return 1 for failure. If the # third option is -v, echo 1 for success and 0 for not. @@ -1268,9 +1245,6 @@ _require_scratch_xfs_shrink() # _require_meta_uuid() { - # This will create a crc fs on $SCRATCH_DEV - _require_xfs_crc - _scratch_xfs_db -x -c "uuid restore" 2>&1 \ | grep -q "invalid UUID\|supported on V5 fs" \ && _notrun "Userspace doesn't support meta_uuid feature" diff --git a/tests/xfs/002 b/tests/xfs/002 index 6c0bb4d04..8dfd2693b 100755 --- a/tests/xfs/002 +++ b/tests/xfs/002 @@ -24,9 +24,6 @@ _supported_fs xfs _require_scratch_nocheck _require_no_large_scratch_dev -# So we can explicitly turn it _off_: -_require_xfs_mkfs_crc - _scratch_mkfs_xfs -m crc=0 -d size=128m >> $seqres.full 2>&1 || _fail "mkfs failed" # Scribble past a couple V4 secondary superblocks to populate sb_crc diff --git a/tests/xfs/005 b/tests/xfs/005 index 5f1ab8348..019790295 100755 --- a/tests/xfs/005 +++ b/tests/xfs/005 @@ -20,7 +20,6 @@ _begin_fstest auto quick _supported_fs xfs _require_scratch_nocheck -_require_xfs_mkfs_crc _scratch_mkfs_xfs -m crc=1 >> $seqres.full 2>&1 || _fail "mkfs failed" diff --git a/tests/xfs/077 b/tests/xfs/077 index f24f6f004..37ea931f1 100755 --- a/tests/xfs/077 +++ b/tests/xfs/077 @@ -24,7 +24,6 @@ _supported_fs xfs _require_xfs_copy _require_scratch _require_no_large_scratch_dev -_require_xfs_crc _require_meta_uuid # Takes 2 args, 2nd optional: diff --git a/tests/xfs/083 b/tests/xfs/083 index edab3b7b0..e8ce2221c 100755 --- a/tests/xfs/083 +++ b/tests/xfs/083 @@ -28,8 +28,6 @@ _cleanup() _supported_fs xfs _require_scratch -#_require_xfs_crc # checksum not required, but you probably want it anyway... -#_require_xfs_mkfs_crc _require_attrs _require_populate_commands diff --git a/tests/xfs/132 b/tests/xfs/132 index fa36c09c2..ee1c8c1ec 100755 --- a/tests/xfs/132 +++ b/tests/xfs/132 @@ -24,7 +24,6 @@ _require_scratch_nocheck # due to transaction cancellation. Hence we don't want to check dmesg here. _disable_dmesg_check -_require_xfs_mkfs_crc _scratch_mkfs -m crc=0 > $seqres.full 2>&1 # The files that EIO in the golden output changes if we have quotas enabled diff --git a/tests/xfs/148 b/tests/xfs/148 index 5d0a0bf42..c9f634cfd 100755 --- a/tests/xfs/148 +++ b/tests/xfs/148 @@ -27,7 +27,6 @@ _cleanup() _supported_fs xfs _require_test _require_attrs -_require_xfs_mkfs_crc _disable_dmesg_check imgfile=$TEST_DIR/img-$seq diff --git a/tests/xfs/263 b/tests/xfs/263 index bce4e13f9..bd30dab11 100755 --- a/tests/xfs/263 +++ b/tests/xfs/263 @@ -21,11 +21,6 @@ _supported_fs xfs _require_scratch _require_xfs_quota -# We could test older, non-project capable kernels but keep it simpler; -# Only test crc and beyond (but we will test with and without the feature) -_require_xfs_mkfs_crc -_require_xfs_crc - function option_string() { VAL=$1 diff --git a/tests/xfs/299 b/tests/xfs/299 index 4b9df3c6a..1df1988ac 100755 --- a/tests/xfs/299 +++ b/tests/xfs/299 @@ -31,8 +31,6 @@ chmod a+rwx $seqres.full # arbitrary users will write here _require_scratch _require_xfs_quota -_require_xfs_mkfs_crc -_require_xfs_crc # The actual point at which limit enforcement takes place for the # hard block limit is variable depending on filesystem blocksize, diff --git a/tests/xfs/304 b/tests/xfs/304 index 3c38e6132..0ee6dad63 100755 --- a/tests/xfs/304 +++ b/tests/xfs/304 @@ -19,8 +19,6 @@ _supported_fs xfs _require_scratch _require_xfs_quota -_require_xfs_mkfs_crc -_require_xfs_crc _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1 diff --git a/tests/xfs/305 b/tests/xfs/305 index d8a6712e5..e76dfdec1 100755 --- a/tests/xfs/305 +++ b/tests/xfs/305 @@ -19,8 +19,6 @@ _supported_fs xfs _require_scratch _require_xfs_quota -_require_xfs_mkfs_crc -_require_xfs_crc _require_command "$KILLALL_PROG" killall _scratch_mkfs_xfs -m crc=1 >/dev/null 2>&1
v5 file systems have been the default for more than 10 years. Drop support for non-v5 enabled kernels and xfsprogs. Signed-off-by: Christoph Hellwig <hch@lst.de> --- common/config | 13 ------------- common/xfs | 26 -------------------------- tests/xfs/002 | 3 --- tests/xfs/005 | 1 - tests/xfs/077 | 1 - tests/xfs/083 | 2 -- tests/xfs/132 | 1 - tests/xfs/148 | 1 - tests/xfs/263 | 5 ----- tests/xfs/299 | 2 -- tests/xfs/304 | 2 -- tests/xfs/305 | 2 -- 12 files changed, 59 deletions(-)