Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e33bf723 authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba
Browse files

Btrfs: fix dir item validation when replaying xattr deletes



We were passing an incorrect slot number to the function that validates
directory items when we are replaying xattr deletes from a log tree. The
correct slot is stored at variable 'i' and not at 'path->slots[0]', so
the call to the validation function was only correct for the first
iteration of the loop, when 'i == path->slots[0]'.
After this fix, the fstest generic/066 passes again.

Fixes: 8ee8c2d6 ("btrfs: Verify dir_item in replay_xattr_deletes")
Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent c3cfb656
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -2153,8 +2153,7 @@ static int replay_xattr_deletes(struct btrfs_trans_handle *trans,
			u32 this_len = sizeof(*di) + name_len + data_len;
			char *name;

			ret = verify_dir_item(fs_info, path->nodes[0],
					      path->slots[0], di);
			ret = verify_dir_item(fs_info, path->nodes[0], i, di);
			if (ret) {
				ret = -EIO;
				goto out;