diff options
Diffstat (limited to 'fs/btrfs/tree-log.c')
-rw-r--r-- | fs/btrfs/tree-log.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 2017d0ff511c..8abeae4224f9 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c | |||
@@ -690,6 +690,8 @@ static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans, | |||
690 | kfree(name); | 690 | kfree(name); |
691 | 691 | ||
692 | iput(inode); | 692 | iput(inode); |
693 | |||
694 | btrfs_run_delayed_items(trans, root); | ||
693 | return ret; | 695 | return ret; |
694 | } | 696 | } |
695 | 697 | ||
@@ -895,6 +897,7 @@ again: | |||
895 | ret = btrfs_unlink_inode(trans, root, dir, | 897 | ret = btrfs_unlink_inode(trans, root, dir, |
896 | inode, victim_name, | 898 | inode, victim_name, |
897 | victim_name_len); | 899 | victim_name_len); |
900 | btrfs_run_delayed_items(trans, root); | ||
898 | } | 901 | } |
899 | kfree(victim_name); | 902 | kfree(victim_name); |
900 | ptr = (unsigned long)(victim_ref + 1) + victim_name_len; | 903 | ptr = (unsigned long)(victim_ref + 1) + victim_name_len; |
@@ -1475,6 +1478,9 @@ again: | |||
1475 | ret = btrfs_unlink_inode(trans, root, dir, inode, | 1478 | ret = btrfs_unlink_inode(trans, root, dir, inode, |
1476 | name, name_len); | 1479 | name, name_len); |
1477 | BUG_ON(ret); | 1480 | BUG_ON(ret); |
1481 | |||
1482 | btrfs_run_delayed_items(trans, root); | ||
1483 | |||
1478 | kfree(name); | 1484 | kfree(name); |
1479 | iput(inode); | 1485 | iput(inode); |
1480 | 1486 | ||