* [PATCH 1/2] generic/608: Remove drop cache and umount & mount cycle
@ 2021-03-26 11:55 Xiao Yang
2021-03-26 12:16 ` yangx.jy
0 siblings, 1 reply; 3+ messages in thread
From: Xiao Yang @ 2021-03-26 11:55 UTC (permalink / raw)
To: fstests; +Cc: darrick.wong, lihao2018.fnst, david, Xiao Yang, Xiaoli Feng
Since commit e7bed0b5bc4b, toggling FS_XFLAG_DAX on an existing file can make
S_DAX on the file change immediately when all applications close the file.
As a result, we don't need the redundant drop cache and umount & mount cycle.
Signed-off-by: Xiaoli Feng <xifeng@redhat.com>
Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
---
tests/generic/608 | 41 ++++++++++++++++++-----------------------
1 file changed, 18 insertions(+), 23 deletions(-)
diff --git a/tests/generic/608 b/tests/generic/608
index 861bbff5..d81a2488 100755
--- a/tests/generic/608
+++ b/tests/generic/608
@@ -3,10 +3,10 @@
# Copyright (c) 2020 Fujitsu. All Rights Reserved.
#
# FS QA Test 608
-# Change FS_XFLAG_DAX on an existing file and check if S_DAX on
-# the file can take effect immediately by the following steps:
-# 1) Stop all applications which are using the file.
-# 2) Do drop_caches or umount & mount cycle.
+# Toggling FS_XFLAG_DAX on an existing file can make S_DAX on the
+# file change immediately when all applications close the file.
+# It's a regression test for:
+# 'commit e7bed0b5bc4b ("fs: Kill DCACHE_DONTCACHE dentry even if DCACHE_REFERENCED is set")'
seq=`basename $0`
seqres=$RESULT_DIR/$seq
@@ -36,7 +36,7 @@ _require_dax_iflag
_require_xfs_io_command "lsattr" "-v"
_require_xfs_io_command "statx" "-r"
-test_drop_caches()
+test_enable_dax()
{
local t_file=$SCRATCH_MNT/testfile
@@ -49,24 +49,19 @@ test_drop_caches()
$XFS_IO_PROG -c 'chattr +x' $t_file
_check_xflag $t_file 1
- _check_s_dax $t_file 0
-
- # One application is using test file and check if S_DAX on
- # the file doesn't take effect immediately by drop_caches
- echo 2 > /proc/sys/vm/drop_caches
+ # One application is using test file and S_DAX
+ # on the file is not changed immediately
_check_s_dax $t_file 0
exec 3<&-
- # No application is using test file and check if S_DAX on
- # the file takes effect immediately by drop_caches
- echo 2 > /proc/sys/vm/drop_caches
+ # No application is using test file and S_DAX
+ # on the file is changed immediately
_check_s_dax $t_file 1
}
-test_cycle_mount()
+test_disable_dax()
{
- local option=$1
local t_dir=$SCRATCH_MNT/testdir
local t_file=$t_dir/testfile
@@ -81,29 +76,29 @@ test_cycle_mount()
$XFS_IO_PROG -c 'chattr -x' $t_file
_check_xflag $t_file 0
+ # One application is using test file and S_DAX
+ # on the file is not changed immediately
_check_s_dax $t_file 1
exec 3<&-
- # No application is using test file and check if S_DAX on
- # the file takes effect immediately by umount & mount
- _scratch_cycle_mount "$option"
+ # No application is using test file and S_DAX
+ # on the file is changed immediately
_check_s_dax $t_file 0
}
do_tests()
{
local mount_option=$1
- local cycle_mount_option=$2
_scratch_mount "$mount_option"
# Make sure the root dir doesn't have FS_XFLAG_DAX set before we start.
$XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT &>> $seqres.full
- test_drop_caches
-
- test_cycle_mount "$cycle_mount_option"
+ # Do test for commit e7bed0b5bc4b
+ test_enable_dax
+ test_disable_dax
_scratch_unmount
}
@@ -111,7 +106,7 @@ do_tests()
_scratch_mkfs >> $seqres.full 2>&1
# Mount with dax option
-do_tests "-o dax=inode" "dax=inode"
+do_tests "-o dax=inode"
# Mount without dax option
export MOUNT_OPTIONS=""
--
2.21.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] generic/608: Remove drop cache and umount & mount cycle
2021-03-26 11:55 [PATCH 1/2] generic/608: Remove drop cache and umount & mount cycle Xiao Yang
@ 2021-03-26 12:16 ` yangx.jy
2021-03-29 9:29 ` yangx.jy
0 siblings, 1 reply; 3+ messages in thread
From: yangx.jy @ 2021-03-26 12:16 UTC (permalink / raw)
To: yangx.jy; +Cc: fstests, darrick.wong, lihao2018.fnst, david, Xiaoli Feng
Hi,
Sorry for the confusing serial number[1/2].
The second patch is not related to this patch and has some issues.
I will send the second patch as a separate one in future.
Best Regards,
Xiao Yang
On 2021/3/26 19:55, Xiao Yang wrote:
> Since commit e7bed0b5bc4b, toggling FS_XFLAG_DAX on an existing file can make
> S_DAX on the file change immediately when all applications close the file.
> As a result, we don't need the redundant drop cache and umount & mount cycle.
>
> Signed-off-by: Xiaoli Feng <xifeng@redhat.com>
> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
> ---
> tests/generic/608 | 41 ++++++++++++++++++-----------------------
> 1 file changed, 18 insertions(+), 23 deletions(-)
>
> diff --git a/tests/generic/608 b/tests/generic/608
> index 861bbff5..d81a2488 100755
> --- a/tests/generic/608
> +++ b/tests/generic/608
> @@ -3,10 +3,10 @@
> # Copyright (c) 2020 Fujitsu. All Rights Reserved.
> #
> # FS QA Test 608
> -# Change FS_XFLAG_DAX on an existing file and check if S_DAX on
> -# the file can take effect immediately by the following steps:
> -# 1) Stop all applications which are using the file.
> -# 2) Do drop_caches or umount & mount cycle.
> +# Toggling FS_XFLAG_DAX on an existing file can make S_DAX on the
> +# file change immediately when all applications close the file.
> +# It's a regression test for:
> +# 'commit e7bed0b5bc4b ("fs: Kill DCACHE_DONTCACHE dentry even if DCACHE_REFERENCED is set")'
>
> seq=`basename $0`
> seqres=$RESULT_DIR/$seq
> @@ -36,7 +36,7 @@ _require_dax_iflag
> _require_xfs_io_command "lsattr" "-v"
> _require_xfs_io_command "statx" "-r"
>
> -test_drop_caches()
> +test_enable_dax()
> {
> local t_file=$SCRATCH_MNT/testfile
>
> @@ -49,24 +49,19 @@ test_drop_caches()
>
> $XFS_IO_PROG -c 'chattr +x' $t_file
> _check_xflag $t_file 1
> - _check_s_dax $t_file 0
> -
> - # One application is using test file and check if S_DAX on
> - # the file doesn't take effect immediately by drop_caches
> - echo 2 > /proc/sys/vm/drop_caches
> + # One application is using test file and S_DAX
> + # on the file is not changed immediately
> _check_s_dax $t_file 0
>
> exec 3<&-
>
> - # No application is using test file and check if S_DAX on
> - # the file takes effect immediately by drop_caches
> - echo 2 > /proc/sys/vm/drop_caches
> + # No application is using test file and S_DAX
> + # on the file is changed immediately
> _check_s_dax $t_file 1
> }
>
> -test_cycle_mount()
> +test_disable_dax()
> {
> - local option=$1
> local t_dir=$SCRATCH_MNT/testdir
> local t_file=$t_dir/testfile
>
> @@ -81,29 +76,29 @@ test_cycle_mount()
>
> $XFS_IO_PROG -c 'chattr -x' $t_file
> _check_xflag $t_file 0
> + # One application is using test file and S_DAX
> + # on the file is not changed immediately
> _check_s_dax $t_file 1
>
> exec 3<&-
>
> - # No application is using test file and check if S_DAX on
> - # the file takes effect immediately by umount & mount
> - _scratch_cycle_mount "$option"
> + # No application is using test file and S_DAX
> + # on the file is changed immediately
> _check_s_dax $t_file 0
> }
>
> do_tests()
> {
> local mount_option=$1
> - local cycle_mount_option=$2
>
> _scratch_mount "$mount_option"
>
> # Make sure the root dir doesn't have FS_XFLAG_DAX set before we start.
> $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT &>> $seqres.full
>
> - test_drop_caches
> -
> - test_cycle_mount "$cycle_mount_option"
> + # Do test for commit e7bed0b5bc4b
> + test_enable_dax
> + test_disable_dax
>
> _scratch_unmount
> }
> @@ -111,7 +106,7 @@ do_tests()
> _scratch_mkfs >> $seqres.full 2>&1
>
> # Mount with dax option
> -do_tests "-o dax=inode" "dax=inode"
> +do_tests "-o dax=inode"
>
> # Mount without dax option
> export MOUNT_OPTIONS=""
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] generic/608: Remove drop cache and umount & mount cycle
2021-03-26 12:16 ` yangx.jy
@ 2021-03-29 9:29 ` yangx.jy
0 siblings, 0 replies; 3+ messages in thread
From: yangx.jy @ 2021-03-29 9:29 UTC (permalink / raw)
To: yangx.jy; +Cc: fstests, darrick.wong, lihao2018.fnst, david, Xiaoli Feng
On 2021/3/26 20:16, Yang, Xiao/杨 晓 wrote:
> Hi,
>
> Sorry for the confusing serial number[1/2].
>
> The second patch is not related to this patch and has some issues.
> I will send the second patch as a separate one in future.
Hi
Please ignore this patch and I will send the whole patchset in v2 soon.
Best Regards,
Xiao Yang
> Best Regards,
> Xiao Yang
>
> On 2021/3/26 19:55, Xiao Yang wrote:
>> Since commit e7bed0b5bc4b, toggling FS_XFLAG_DAX on an existing file can make
>> S_DAX on the file change immediately when all applications close the file.
>> As a result, we don't need the redundant drop cache and umount & mount cycle.
>>
>> Signed-off-by: Xiaoli Feng <xifeng@redhat.com>
>> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
>> ---
>> tests/generic/608 | 41 ++++++++++++++++++-----------------------
>> 1 file changed, 18 insertions(+), 23 deletions(-)
>>
>> diff --git a/tests/generic/608 b/tests/generic/608
>> index 861bbff5..d81a2488 100755
>> --- a/tests/generic/608
>> +++ b/tests/generic/608
>> @@ -3,10 +3,10 @@
>> # Copyright (c) 2020 Fujitsu. All Rights Reserved.
>> #
>> # FS QA Test 608
>> -# Change FS_XFLAG_DAX on an existing file and check if S_DAX on
>> -# the file can take effect immediately by the following steps:
>> -# 1) Stop all applications which are using the file.
>> -# 2) Do drop_caches or umount & mount cycle.
>> +# Toggling FS_XFLAG_DAX on an existing file can make S_DAX on the
>> +# file change immediately when all applications close the file.
>> +# It's a regression test for:
>> +# 'commit e7bed0b5bc4b ("fs: Kill DCACHE_DONTCACHE dentry even if DCACHE_REFERENCED is set")'
>>
>> seq=`basename $0`
>> seqres=$RESULT_DIR/$seq
>> @@ -36,7 +36,7 @@ _require_dax_iflag
>> _require_xfs_io_command "lsattr" "-v"
>> _require_xfs_io_command "statx" "-r"
>>
>> -test_drop_caches()
>> +test_enable_dax()
>> {
>> local t_file=$SCRATCH_MNT/testfile
>>
>> @@ -49,24 +49,19 @@ test_drop_caches()
>>
>> $XFS_IO_PROG -c 'chattr +x' $t_file
>> _check_xflag $t_file 1
>> - _check_s_dax $t_file 0
>> -
>> - # One application is using test file and check if S_DAX on
>> - # the file doesn't take effect immediately by drop_caches
>> - echo 2 > /proc/sys/vm/drop_caches
>> + # One application is using test file and S_DAX
>> + # on the file is not changed immediately
>> _check_s_dax $t_file 0
>>
>> exec 3<&-
>>
>> - # No application is using test file and check if S_DAX on
>> - # the file takes effect immediately by drop_caches
>> - echo 2 > /proc/sys/vm/drop_caches
>> + # No application is using test file and S_DAX
>> + # on the file is changed immediately
>> _check_s_dax $t_file 1
>> }
>>
>> -test_cycle_mount()
>> +test_disable_dax()
>> {
>> - local option=$1
>> local t_dir=$SCRATCH_MNT/testdir
>> local t_file=$t_dir/testfile
>>
>> @@ -81,29 +76,29 @@ test_cycle_mount()
>>
>> $XFS_IO_PROG -c 'chattr -x' $t_file
>> _check_xflag $t_file 0
>> + # One application is using test file and S_DAX
>> + # on the file is not changed immediately
>> _check_s_dax $t_file 1
>>
>> exec 3<&-
>>
>> - # No application is using test file and check if S_DAX on
>> - # the file takes effect immediately by umount & mount
>> - _scratch_cycle_mount "$option"
>> + # No application is using test file and S_DAX
>> + # on the file is changed immediately
>> _check_s_dax $t_file 0
>> }
>>
>> do_tests()
>> {
>> local mount_option=$1
>> - local cycle_mount_option=$2
>>
>> _scratch_mount "$mount_option"
>>
>> # Make sure the root dir doesn't have FS_XFLAG_DAX set before we start.
>> $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT &>> $seqres.full
>>
>> - test_drop_caches
>> -
>> - test_cycle_mount "$cycle_mount_option"
>> + # Do test for commit e7bed0b5bc4b
>> + test_enable_dax
>> + test_disable_dax
>>
>> _scratch_unmount
>> }
>> @@ -111,7 +106,7 @@ do_tests()
>> _scratch_mkfs >> $seqres.full 2>&1
>>
>> # Mount with dax option
>> -do_tests "-o dax=inode" "dax=inode"
>> +do_tests "-o dax=inode"
>>
>> # Mount without dax option
>> export MOUNT_OPTIONS=""
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-03-29 9:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-26 11:55 [PATCH 1/2] generic/608: Remove drop cache and umount & mount cycle Xiao Yang
2021-03-26 12:16 ` yangx.jy
2021-03-29 9:29 ` yangx.jy
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).