On 4/4/19 12:51 AM, Anand Jain wrote:
Both mainline and misc-5.2 fails the test case that transaction
generation number must be unaltered if the property validation fails.
For example:
btrfs in dump-super /dev/sdb | grep ^generation; \
btrfs prop set /btrfs compression lz; sync; \
btrfs in dump-super /dev/sdb | grep ^generation
generation 53
ERROR: failed to set compression for /btrfs: Invalid argument
generation 54
Which the patch in the mailing list fixes and based on misc-5.2
[PATCH 4/4 RESEND] btrfs: fix property validate fail should not increment
But, now I notice that the reason for which the original code failed
is different from the reason for which misc-5.2 failed. Former failed
because the malformed 'lz' was only abled to be caught by handle->apply(),
and in latter we were calling the start_transaction() too early before the
handle->validation() which few of the patches in misc-5.1 did. My bad.
As per your misc-5.2 branch please drop the following patches as I have
better fixes as in this patch.
584aebf26bbf btrfs: merge btrfs_setxattr and do_setxattr
ab54ee38fff7 btrfs: don't create transaction in btrfs_setxattr
0cbf560f72e1 btrfs: start transaction in btrfs_xattr_handler_set
db0f220e98eb btrfs: start transaction in btrfs_set_acl
56e9e992c00a btrfs: start transaction in btrfs_set_prop_trans
3e2299ea6a8b btrfs: refactor btrfs_set_prop and add btrfs_set_prop_trans
737e67ce0f3f btrfs: merge _btrfs_set_prop helpers
And please apply the patches as in this set.
Anand Jain (4):
btrfs: rename __btrfs_set_prop to btrfs_set_prop_trans
btrfs: rename __btrfs_set_acl to do_set_acl
btrfs: fix zstd compression parameter
btrfs: fix vanished compression property after failed set
fs/btrfs/acl.c | 12 +++++-------
fs/btrfs/props.c | 23 ++++++++++-------------
2 files changed, 15 insertions(+), 20 deletions(-)
Ping?