summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorvoid0red <void0red@gmail.com>2023-02-18 05:36:48 +0100
committerDavid Sterba <dsterba@suse.com>2023-03-06 19:28:19 +0100
commitc06016a02a6e316d861f7dddd4b70419a47ded2f (patch)
tree035525efaaa613fa050458a49234089184f86df3 /fs
parentbtrfs: ioctl: return device fsid from DEV_INFO ioctl (diff)
downloadlinux-c06016a02a6e316d861f7dddd4b70419a47ded2f.tar.xz
linux-c06016a02a6e316d861f7dddd4b70419a47ded2f.zip
btrfs: handle btrfs_del_item errors in __btrfs_update_delayed_inode
Even if the slot is already read out, we may still need to re-balance the tree, thus it can cause error in that btrfs_del_item() call and we need to handle it properly. Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: void0red <void0red@gmail.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/delayed-inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 0095c6e4c3d1..6b457b010cbc 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -1048,7 +1048,7 @@ again:
* so there is only one iref. The case that several irefs are
* in the same item doesn't exist.
*/
- btrfs_del_item(trans, root, path);
+ ret = btrfs_del_item(trans, root, path);
out:
btrfs_release_delayed_iref(node);
btrfs_release_path(path);