We want to have a complete picture of any delayed inode updates before
we make the decision to commit or not, so make sure we run delayed iputs
before making the decision to commit or not.

Signed-off-by: Josef Bacik <jo...@toxicpanda.com>
---
 fs/btrfs/extent-tree.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 355884445f38..81396bac53f1 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -4923,6 +4923,10 @@ static int may_commit_transaction(struct btrfs_fs_info 
*fs_info,
                goto commit;
        }
 
+       mutex_lock(&fs_info->cleaner_delayed_iput_mutex);
+       btrfs_run_delayed_iputs(fs_info);
+       mutex_unlock(&fs_info->cleaner_delayed_iput_mutex);
+
        spin_lock(&delayed_rsv->lock);
        reclaim_bytes += delayed_rsv->reserved;
        spin_unlock(&delayed_rsv->lock);
-- 
2.14.3

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to