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 | ||
