Message ID | 20190402100742.8355-3-anand.jain@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fstests: btrfs/048: amend property validation cases | expand |
On 2.04.19 г. 13:07 ч., Anand Jain wrote: > Add more property validation cases which are fixed by the patches [1] > [1] > btrfs: fix property validate fail should not increment generation > btrfs: open code btrfs_set_prop in inherit_prop > btrfs: fix vanished compression property after failed set > btrfs: fix zstd compression parameter > > Signed-off-by: Anand Jain <anand.jain@oracle.com> > --- > (As this fstest patch depends on the kernel patches, > this patch isn't sent to fstests mailing list yet). > Doesn't matter, it's fine to have a test merged before respective kernel patches have landed. In fact there is one btrfs test (can't remember which one) authored by you which is failing, yet the respective kernel patches have never been sent to the mailing list.
On 2/4/19 8:51 PM, Nikolay Borisov wrote: > > > On 2.04.19 г. 13:07 ч., Anand Jain wrote: >> Add more property validation cases which are fixed by the patches [1] >> [1] >> btrfs: fix property validate fail should not increment generation >> btrfs: open code btrfs_set_prop in inherit_prop >> btrfs: fix vanished compression property after failed set >> btrfs: fix zstd compression parameter >> >> Signed-off-by: Anand Jain <anand.jain@oracle.com> >> --- >> (As this fstest patch depends on the kernel patches, >> this patch isn't sent to fstests mailing list yet). >> > > Doesn't matter, it's fine to have a test merged before respective kernel > patches have landed. Ok. > In fact there is one btrfs test (can't remember > which one) authored by you which is failing, yet the respective kernel > patches have never been sent to the mailing list. fstests is also a good place to record known issues. Otherwise we can create a group of known-issues with in fstests. What do you think? Currently we have these two fstests failing because its fix is not yet in the kernel. btrfs/172: Exposed bug: Punch hole fails at ENOSPC only for the misaligned offset. Because punch hole has to zero a partial block in case of misaligned offset. Do you know how to fix? Of late I started believing its a limitation rather than bug. If we agree we can decompose and reuse btrfs/172 for something else. btrfs/154: Exposed bug: Reappeared missing device fakes its assembly to the volume. Fix (as indicated in btrfs/154) V5 is in the mailing list, with accepted review comments.
diff --git a/tests/btrfs/048 b/tests/btrfs/048 index 588219579cc6..657634f7cc3e 100755 --- a/tests/btrfs/048 +++ b/tests/btrfs/048 @@ -6,6 +6,11 @@ # # Btrfs properties test. The btrfs properties feature was introduced in the # linux kernel 3.14. +# Fails without the kernel patches: +# btrfs: fix property validate fail should not increment generation +# btrfs: open code btrfs_set_prop in inherit_prop +# btrfs: fix vanished compression property after failed set +# btrfs: fix zstd compression parameter # seq=`basename $0` seqres=$RESULT_DIR/$seq @@ -34,6 +39,7 @@ _supported_os Linux _require_test _require_scratch _require_btrfs_command "property" +_require_btrfs_command inspect-internal dump-super send_files_dir=$TEST_DIR/btrfs-test-$seq @@ -203,5 +209,24 @@ $BTRFS_UTIL_PROG property get $SCRATCH_MNT/sv1 compression touch $SCRATCH_MNT/sv1/file2 $BTRFS_UTIL_PROG property get $SCRATCH_MNT/sv1/file2 compression +echo -e "\nTesting argument validation, should fail" +$BTRFS_UTIL_PROG property set $SCRATCH_MNT compression 'lz' | _filter_scratch +echo "***" +$BTRFS_UTIL_PROG property set $SCRATCH_MNT compression 'zli' | _filter_scratch +echo "***" +$BTRFS_UTIL_PROG property set $SCRATCH_MNT compression 'zst' | _filter_scratch + +echo -e "\nTesting if property is persistent across failed validation" +$BTRFS_UTIL_PROG property set $SCRATCH_MNT compression 'lzo' +$BTRFS_UTIL_PROG property set $SCRATCH_MNT compression 'zli' | _filter_scratch +$BTRFS_UTIL_PROG property get $SCRATCH_MNT compression + +echo -e "\nTesting generation is unchanged after failed validation" +$BTRFS_UTIL_PROG filesystem sync $SCRATCH_MNT +$BTRFS_UTIL_PROG inspect-internal dump-super $SCRATCH_DEV | grep '^generation' +$BTRFS_UTIL_PROG property set $SCRATCH_MNT compression 'lz' | _filter_scratch +$BTRFS_UTIL_PROG filesystem sync $SCRATCH_MNT +$BTRFS_UTIL_PROG inspect-internal dump-super $SCRATCH_DEV | grep '^generation' + status=0 exit diff --git a/tests/btrfs/048.out b/tests/btrfs/048.out index 3e4e3d28950a..00f39bc01227 100644 --- a/tests/btrfs/048.out +++ b/tests/btrfs/048.out @@ -76,3 +76,19 @@ compression=zlib Testing subvolume property inheritance compression=lzo compression=lzo + +Testing argument validation, should fail +ERROR: failed to set compression for /mnt/scratch: Invalid argument +*** +ERROR: failed to set compression for /mnt/scratch: Invalid argument +*** +ERROR: failed to set compression for /mnt/scratch: Invalid argument + +Testing if property is persistent across failed validation +ERROR: failed to set compression for /mnt/scratch: Invalid argument +compression=lzo + +Testing generation is unchanged after failed validation +generation 7 +ERROR: failed to set compression for /mnt/scratch: Invalid argument +generation 7
Add more property validation cases which are fixed by the patches [1] [1] btrfs: fix property validate fail should not increment generation btrfs: open code btrfs_set_prop in inherit_prop btrfs: fix vanished compression property after failed set btrfs: fix zstd compression parameter Signed-off-by: Anand Jain <anand.jain@oracle.com> --- (As this fstest patch depends on the kernel patches, this patch isn't sent to fstests mailing list yet). tests/btrfs/048 | 25 +++++++++++++++++++++++++ tests/btrfs/048.out | 16 ++++++++++++++++ 2 files changed, 41 insertions(+)