* [PATCH 1/2] btrfs/049: remove the test @ 2021-09-27 7:20 Ma Xinjian 2021-09-27 7:20 ` [PATCH 2/2] btrfs/091: remove noinode_cache option Ma Xinjian 2021-10-10 13:32 ` [PATCH 1/2] btrfs/049: remove the test Eryu Guan 0 siblings, 2 replies; 6+ messages in thread From: Ma Xinjian @ 2021-09-27 7:20 UTC (permalink / raw) To: fstests; +Cc: Philip Li, kernel test robot, Ma Xinjian inode_cache is deprecated and will never appear in mount options; remove it entirely Link: https://www.spinics.net/lists/linux-btrfs/msg107910.html Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Ma Xinjian <xinjianx.ma@intel.com> --- tests/btrfs/049 | 85 ------------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100755 tests/btrfs/049 diff --git a/tests/btrfs/049 b/tests/btrfs/049 deleted file mode 100755 index 87c205ca..00000000 --- a/tests/btrfs/049 +++ /dev/null @@ -1,85 +0,0 @@ -#! /bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (c) 2014 Fujitsu. All Rights Reserved. -# -# FS QA Test No. btrfs/049 -# -# Regression test for btrfs inode caching vs tree log which was -# addressed by the following kernel patch. -# -# Btrfs: fix inode caching vs tree log -# -. ./common/preamble -_begin_fstest auto quick - -# Override the default cleanup function. -_cleanup() -{ - _cleanup_flakey - rm -rf $tmp -} - -# Import common functions. -. ./common/filter -. ./common/dmflakey - -# real QA test starts here -_supported_fs btrfs -_require_scratch -_require_dm_target flakey -# Zoned btrfs does not support inode cache -_require_non_zoned_device "$SCRATCH_DEV" - -_scratch_mkfs >> $seqres.full 2>&1 - -SAVE_MOUNT_OPTIONS="$MOUNT_OPTIONS" -MOUNT_OPTIONS="$MOUNT_OPTIONS -o inode_cache,commit=100" - -# create a basic flakey device that will never error out -_init_flakey -_mount_flakey - -_get_inode_id() -{ - local inode_id - inode_id=`stat $1 | grep Inode: | $AWK_PROG '{print $4}'` - echo $inode_id -} - -$XFS_IO_PROG -f -c "pwrite 0 10M" -c "fsync" \ - $SCRATCH_MNT/data >& /dev/null - -inode_id=`_get_inode_id "$SCRATCH_MNT/data"` -rm -f $SCRATCH_MNT/data - -for i in `seq 1 5`; -do - mkdir $SCRATCH_MNT/dir_$i - new_inode_id=`_get_inode_id $SCRATCH_MNT/dir_$i` - if [ $new_inode_id -eq $inode_id ] - then - $XFS_IO_PROG -f -c "pwrite 0 1M" -c "fsync" \ - $SCRATCH_MNT/dir_$i/data1 >& /dev/null - _load_flakey_table 1 - _unmount_flakey - need_umount=1 - break - fi - sleep 1 -done - -# restore previous mount options -export MOUNT_OPTIONS="$SAVE_MOUNT_OPTIONS" - -# ok mount so that any recovery that needs to happen is done -if [ $new_inode_id -eq $inode_id ];then - _load_flakey_table $FLAKEY_ALLOW_WRITES - _mount_flakey - _unmount_flakey -fi - -# make sure we got a valid fs after replay -_check_scratch_fs $FLAKEY_DEV - -status=0 -exit -- 2.20.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] btrfs/091: remove noinode_cache option 2021-09-27 7:20 [PATCH 1/2] btrfs/049: remove the test Ma Xinjian @ 2021-09-27 7:20 ` Ma Xinjian 2021-10-24 13:34 ` Eryu Guan 2021-10-10 13:32 ` [PATCH 1/2] btrfs/049: remove the test Eryu Guan 1 sibling, 1 reply; 6+ messages in thread From: Ma Xinjian @ 2021-09-27 7:20 UTC (permalink / raw) To: fstests; +Cc: Philip Li, kernel test robot, Ma Xinjian inode cache feature has been removed Link: https://www.spinics.net/lists/linux-btrfs/msg107910.html Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Ma Xinjian <xinjianx.ma@intel.com> --- tests/btrfs/091 | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/tests/btrfs/091 b/tests/btrfs/091 index 307289b1..f2cd00b2 100755 --- a/tests/btrfs/091 +++ b/tests/btrfs/091 @@ -23,21 +23,12 @@ _require_cp_reflink # use largest node/leaf size (64K) to allow the test to be run on arch with # page size > 4k. NODESIZE=65536 -SUPPORT_NOINODE_CACHE="yes" run_check _scratch_mkfs "--nodesize $NODESIZE" -# inode cache will also take space in fs tree, disable them to get consistent -# result. # discard error output since we will check return value manually. # also disable all compression, or output will mismatch with golden output -_try_scratch_mount "-o noinode_cache,compress=no,compress-force=no" 2> /dev/null - -# Check for old kernel which doesn't support 'noinode_cache' mount option -if [ $? -ne 0 ]; then - support_noinode_cache="no" - _scratch_mount -fi +_try_scratch_mount "-o compress=no,compress-force=no" 2> /dev/null _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv1 _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv2 @@ -46,16 +37,6 @@ _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv3 _run_btrfs_util_prog quota enable $SCRATCH_MNT _run_btrfs_util_prog quota rescan -w $SCRATCH_MNT -# if we don't support noinode_cache mount option, then we should double check -# whether inode cache is enabled before executing the real test payload. -if [ $SUPPORT_NOINODE_CACHE == "no" ]; then - EMPTY_SIZE=`$BTRFS_UTIL_PROG qgroup show $units $SCRATCH_MNT | \ - $SED_PROG -n '/[0-9]/p' | $AWK_PROG '{print $2}' | head -n1` - if [ $EMPTY_SIZE != $NODESIZE ]; then - _notrun "Kernel doesn't support to disable inode cache" - fi -fi - $XFS_IO_PROG -f -c "pwrite 0 256K" $SCRATCH_MNT/subv1/file1 | _filter_xfs_io cp --reflink $SCRATCH_MNT/subv1/file1 $SCRATCH_MNT/subv2/file1 cp --reflink $SCRATCH_MNT/subv1/file1 $SCRATCH_MNT/subv3/file1 -- 2.20.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] btrfs/091: remove noinode_cache option 2021-09-27 7:20 ` [PATCH 2/2] btrfs/091: remove noinode_cache option Ma Xinjian @ 2021-10-24 13:34 ` Eryu Guan 2021-10-25 13:05 ` David Sterba 0 siblings, 1 reply; 6+ messages in thread From: Eryu Guan @ 2021-10-24 13:34 UTC (permalink / raw) To: Ma Xinjian; +Cc: fstests, Philip Li, kernel test robot, linux-btrfs On Mon, Sep 27, 2021 at 03:20:19PM +0800, Ma Xinjian wrote: > inode cache feature has been removed > > Link: https://www.spinics.net/lists/linux-btrfs/msg107910.html From above link, the inode cache feathre has been removed since v5.11 kernel, which is relatively a recent kernel, but old kernels may still need this noinode_cache mount option. So we'd better to keep this check. We could add check for inode_cache option as well, and only check for noinode_cache when inode cache is supported. > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Ma Xinjian <xinjianx.ma@intel.com> > --- > tests/btrfs/091 | 21 +-------------------- > 1 file changed, 1 insertion(+), 20 deletions(-) > > diff --git a/tests/btrfs/091 b/tests/btrfs/091 > index 307289b1..f2cd00b2 100755 > --- a/tests/btrfs/091 > +++ b/tests/btrfs/091 > @@ -23,21 +23,12 @@ _require_cp_reflink > # use largest node/leaf size (64K) to allow the test to be run on arch with > # page size > 4k. > NODESIZE=65536 > -SUPPORT_NOINODE_CACHE="yes" > > run_check _scratch_mkfs "--nodesize $NODESIZE" > > -# inode cache will also take space in fs tree, disable them to get consistent > -# result. > # discard error output since we will check return value manually. > # also disable all compression, or output will mismatch with golden output > -_try_scratch_mount "-o noinode_cache,compress=no,compress-force=no" 2> /dev/null > - > -# Check for old kernel which doesn't support 'noinode_cache' mount option > -if [ $? -ne 0 ]; then > - support_noinode_cache="no" This seems like a type in the original code, it should be in upper case. Thanks, Eryu > - _scratch_mount > -fi > +_try_scratch_mount "-o compress=no,compress-force=no" 2> /dev/null > > _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv1 > _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv2 > @@ -46,16 +37,6 @@ _run_btrfs_util_prog subvolume create $SCRATCH_MNT/subv3 > _run_btrfs_util_prog quota enable $SCRATCH_MNT > _run_btrfs_util_prog quota rescan -w $SCRATCH_MNT > > -# if we don't support noinode_cache mount option, then we should double check > -# whether inode cache is enabled before executing the real test payload. > -if [ $SUPPORT_NOINODE_CACHE == "no" ]; then > - EMPTY_SIZE=`$BTRFS_UTIL_PROG qgroup show $units $SCRATCH_MNT | \ > - $SED_PROG -n '/[0-9]/p' | $AWK_PROG '{print $2}' | head -n1` > - if [ $EMPTY_SIZE != $NODESIZE ]; then > - _notrun "Kernel doesn't support to disable inode cache" > - fi > -fi > - > $XFS_IO_PROG -f -c "pwrite 0 256K" $SCRATCH_MNT/subv1/file1 | _filter_xfs_io > cp --reflink $SCRATCH_MNT/subv1/file1 $SCRATCH_MNT/subv2/file1 > cp --reflink $SCRATCH_MNT/subv1/file1 $SCRATCH_MNT/subv3/file1 > -- > 2.20.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] btrfs/091: remove noinode_cache option 2021-10-24 13:34 ` Eryu Guan @ 2021-10-25 13:05 ` David Sterba 0 siblings, 0 replies; 6+ messages in thread From: David Sterba @ 2021-10-25 13:05 UTC (permalink / raw) To: Eryu Guan; +Cc: Ma Xinjian, fstests, Philip Li, kernel test robot, linux-btrfs On Sun, Oct 24, 2021 at 09:34:15PM +0800, Eryu Guan wrote: > On Mon, Sep 27, 2021 at 03:20:19PM +0800, Ma Xinjian wrote: > > inode cache feature has been removed > > > > Link: https://www.spinics.net/lists/linux-btrfs/msg107910.html > > >From above link, the inode cache feathre has been removed since v5.11 > kernel, which is relatively a recent kernel, but old kernels may still > need this noinode_cache mount option. So we'd better to keep this > check. > > We could add check for inode_cache option as well, and only check for > noinode_cache when inode cache is supported. I don't think we should keep the option support in the testsuite. There was deprecation period before actual removal from kernel and long before that we discouraged everybody from using it. There were known bugs and I don't think anybody cares for old kernels anyway. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] btrfs/049: remove the test 2021-09-27 7:20 [PATCH 1/2] btrfs/049: remove the test Ma Xinjian 2021-09-27 7:20 ` [PATCH 2/2] btrfs/091: remove noinode_cache option Ma Xinjian @ 2021-10-10 13:32 ` Eryu Guan 2021-10-11 10:21 ` David Sterba 1 sibling, 1 reply; 6+ messages in thread From: Eryu Guan @ 2021-10-10 13:32 UTC (permalink / raw) To: Ma Xinjian; +Cc: fstests, Philip Li, kernel test robot, linux-btrfs [cc'ed btrfs list] On Mon, Sep 27, 2021 at 03:20:18PM +0800, Ma Xinjian wrote: > inode_cache is deprecated and will never appear in mount > options; remove it entirely Please also cc btrfs list in future patches for btrfs-specific tests. And I'd like an ack from btrfs folks. Thanks, Eryu > > Link: https://www.spinics.net/lists/linux-btrfs/msg107910.html > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Ma Xinjian <xinjianx.ma@intel.com> > --- > tests/btrfs/049 | 85 ------------------------------------------------- > 1 file changed, 85 deletions(-) > delete mode 100755 tests/btrfs/049 > > diff --git a/tests/btrfs/049 b/tests/btrfs/049 > deleted file mode 100755 > index 87c205ca..00000000 > --- a/tests/btrfs/049 > +++ /dev/null > @@ -1,85 +0,0 @@ > -#! /bin/bash > -# SPDX-License-Identifier: GPL-2.0 > -# Copyright (c) 2014 Fujitsu. All Rights Reserved. > -# > -# FS QA Test No. btrfs/049 > -# > -# Regression test for btrfs inode caching vs tree log which was > -# addressed by the following kernel patch. > -# > -# Btrfs: fix inode caching vs tree log > -# > -. ./common/preamble > -_begin_fstest auto quick > - > -# Override the default cleanup function. > -_cleanup() > -{ > - _cleanup_flakey > - rm -rf $tmp > -} > - > -# Import common functions. > -. ./common/filter > -. ./common/dmflakey > - > -# real QA test starts here > -_supported_fs btrfs > -_require_scratch > -_require_dm_target flakey > -# Zoned btrfs does not support inode cache > -_require_non_zoned_device "$SCRATCH_DEV" > - > -_scratch_mkfs >> $seqres.full 2>&1 > - > -SAVE_MOUNT_OPTIONS="$MOUNT_OPTIONS" > -MOUNT_OPTIONS="$MOUNT_OPTIONS -o inode_cache,commit=100" > - > -# create a basic flakey device that will never error out > -_init_flakey > -_mount_flakey > - > -_get_inode_id() > -{ > - local inode_id > - inode_id=`stat $1 | grep Inode: | $AWK_PROG '{print $4}'` > - echo $inode_id > -} > - > -$XFS_IO_PROG -f -c "pwrite 0 10M" -c "fsync" \ > - $SCRATCH_MNT/data >& /dev/null > - > -inode_id=`_get_inode_id "$SCRATCH_MNT/data"` > -rm -f $SCRATCH_MNT/data > - > -for i in `seq 1 5`; > -do > - mkdir $SCRATCH_MNT/dir_$i > - new_inode_id=`_get_inode_id $SCRATCH_MNT/dir_$i` > - if [ $new_inode_id -eq $inode_id ] > - then > - $XFS_IO_PROG -f -c "pwrite 0 1M" -c "fsync" \ > - $SCRATCH_MNT/dir_$i/data1 >& /dev/null > - _load_flakey_table 1 > - _unmount_flakey > - need_umount=1 > - break > - fi > - sleep 1 > -done > - > -# restore previous mount options > -export MOUNT_OPTIONS="$SAVE_MOUNT_OPTIONS" > - > -# ok mount so that any recovery that needs to happen is done > -if [ $new_inode_id -eq $inode_id ];then > - _load_flakey_table $FLAKEY_ALLOW_WRITES > - _mount_flakey > - _unmount_flakey > -fi > - > -# make sure we got a valid fs after replay > -_check_scratch_fs $FLAKEY_DEV > - > -status=0 > -exit > -- > 2.20.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] btrfs/049: remove the test 2021-10-10 13:32 ` [PATCH 1/2] btrfs/049: remove the test Eryu Guan @ 2021-10-11 10:21 ` David Sterba 0 siblings, 0 replies; 6+ messages in thread From: David Sterba @ 2021-10-11 10:21 UTC (permalink / raw) To: Eryu Guan; +Cc: Ma Xinjian, fstests, Philip Li, kernel test robot, linux-btrfs On Sun, Oct 10, 2021 at 09:32:20PM +0800, Eryu Guan wrote: > [cc'ed btrfs list] > > On Mon, Sep 27, 2021 at 03:20:18PM +0800, Ma Xinjian wrote: > > inode_cache is deprecated and will never appear in mount > > options; remove it entirely > > Please also cc btrfs list in future patches for btrfs-specific tests. > > And I'd like an ack from btrfs folks. Acked-by: David Sterba <dsterba@suse.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-10-25 13:06 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-27 7:20 [PATCH 1/2] btrfs/049: remove the test Ma Xinjian 2021-09-27 7:20 ` [PATCH 2/2] btrfs/091: remove noinode_cache option Ma Xinjian 2021-10-24 13:34 ` Eryu Guan 2021-10-25 13:05 ` David Sterba 2021-10-10 13:32 ` [PATCH 1/2] btrfs/049: remove the test Eryu Guan 2021-10-11 10:21 ` David Sterba
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).