diff options
author | Filipe David Borba Manana <fdmanana@gmail.com> | 2013-08-05 04:25:47 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2013-09-01 08:04:54 -0400 |
commit | ada9af215cf7ce663ff3bf9d255923d75b57a4ce (patch) | |
tree | 80fc9f1a4150606bfa5ec3f5af67134134afea45 /fs/btrfs/tree-log.c | |
parent | 2bac325ea8f117636e6601e66a67d2df58974610 (diff) |
Btrfs: don't ignore errors from btrfs_run_delayed_items
tree-log.c was ignoring the return value from btrfs_run_delayed_items()
in several places.
Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Reviewed-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/tree-log.c')
-rw-r--r-- | fs/btrfs/tree-log.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 6797a931cf62..0d9613c3f5e5 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c | |||
@@ -747,7 +747,8 @@ static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans, | |||
747 | ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len); | 747 | ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len); |
748 | if (ret) | 748 | if (ret) |
749 | goto out; | 749 | goto out; |
750 | btrfs_run_delayed_items(trans, root); | 750 | else |
751 | ret = btrfs_run_delayed_items(trans, root); | ||
751 | out: | 752 | out: |
752 | kfree(name); | 753 | kfree(name); |
753 | iput(inode); | 754 | iput(inode); |
@@ -923,7 +924,9 @@ again: | |||
923 | kfree(victim_name); | 924 | kfree(victim_name); |
924 | if (ret) | 925 | if (ret) |
925 | return ret; | 926 | return ret; |
926 | btrfs_run_delayed_items(trans, root); | 927 | ret = btrfs_run_delayed_items(trans, root); |
928 | if (ret) | ||
929 | return ret; | ||
927 | *search_done = 1; | 930 | *search_done = 1; |
928 | goto again; | 931 | goto again; |
929 | } | 932 | } |
@@ -990,7 +993,9 @@ again: | |||
990 | inode, | 993 | inode, |
991 | victim_name, | 994 | victim_name, |
992 | victim_name_len); | 995 | victim_name_len); |
993 | btrfs_run_delayed_items(trans, root); | 996 | if (!ret) |
997 | ret = btrfs_run_delayed_items( | ||
998 | trans, root); | ||
994 | } | 999 | } |
995 | iput(victim_parent); | 1000 | iput(victim_parent); |
996 | kfree(victim_name); | 1001 | kfree(victim_name); |
@@ -1812,7 +1817,7 @@ again: | |||
1812 | ret = btrfs_unlink_inode(trans, root, dir, inode, | 1817 | ret = btrfs_unlink_inode(trans, root, dir, inode, |
1813 | name, name_len); | 1818 | name, name_len); |
1814 | if (!ret) | 1819 | if (!ret) |
1815 | btrfs_run_delayed_items(trans, root); | 1820 | ret = btrfs_run_delayed_items(trans, root); |
1816 | kfree(name); | 1821 | kfree(name); |
1817 | iput(inode); | 1822 | iput(inode); |
1818 | if (ret) | 1823 | if (ret) |