From b3ec36fd5a4824979863fb241cd3da9e8f4d54ba Mon Sep 17 00:00:00 2001 From: Chris Mason Date: Mon, 2 Jul 2012 15:29:53 -0400 Subject: [PATCH] --- yaml --- r: 311665 b: refs/heads/master c: b6305567e7d31b0bec1b8cb9ec0cadd7f7086f5f h: refs/heads/master i: 311663: 1d6c950c3247df8e4e644cbf9718136607d0d04d v: v3 --- [refs] | 2 +- trunk/fs/btrfs/tree-log.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a5f60d396a33..6d6ab1fde89c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7fd1a3f73f3743b4ffd520effe288a70b0ec47c9 +refs/heads/master: b6305567e7d31b0bec1b8cb9ec0cadd7f7086f5f diff --git a/trunk/fs/btrfs/tree-log.c b/trunk/fs/btrfs/tree-log.c index 2017d0ff511c..8abeae4224f9 100644 --- a/trunk/fs/btrfs/tree-log.c +++ b/trunk/fs/btrfs/tree-log.c @@ -690,6 +690,8 @@ static noinline int drop_one_dir_item(struct btrfs_trans_handle *trans, kfree(name); iput(inode); + + btrfs_run_delayed_items(trans, root); return ret; } @@ -895,6 +897,7 @@ static noinline int add_inode_ref(struct btrfs_trans_handle *trans, ret = btrfs_unlink_inode(trans, root, dir, inode, victim_name, victim_name_len); + btrfs_run_delayed_items(trans, root); } kfree(victim_name); ptr = (unsigned long)(victim_ref + 1) + victim_name_len; @@ -1475,6 +1478,9 @@ static noinline int check_item_in_log(struct btrfs_trans_handle *trans, ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len); BUG_ON(ret); + + btrfs_run_delayed_items(trans, root); + kfree(name); iput(inode);