From 6b14e5012c3a621bb9265fc40ff9f74b60d429c8 Mon Sep 17 00:00:00 2001 From: Miao Xie Date: Tue, 22 Jan 2013 10:50:35 +0000 Subject: [PATCH] --- yaml --- r: 360406 b: refs/heads/master c: 63607cc86ab808e077a895be2d7895dcbf6f4cf3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/btrfs/inode.c | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 04b3a94efc1c..328d5212ba7e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eebc60840636e7351371fc17bcd057384bf0c16a +refs/heads/master: 63607cc86ab808e077a895be2d7895dcbf6f4cf3 diff --git a/trunk/fs/btrfs/inode.c b/trunk/fs/btrfs/inode.c index 280e4d487636..d1e3a2d15f91 100644 --- a/trunk/fs/btrfs/inode.c +++ b/trunk/fs/btrfs/inode.c @@ -7614,7 +7614,7 @@ int btrfs_start_delalloc_inodes(struct btrfs_root *root, int delay_iput) INIT_LIST_HEAD(&works); INIT_LIST_HEAD(&splice); -again: + spin_lock(&root->fs_info->delalloc_lock); list_splice_init(&root->fs_info->delalloc_inodes, &splice); while (!list_empty(&splice)) { @@ -7650,13 +7650,6 @@ int btrfs_start_delalloc_inodes(struct btrfs_root *root, int delay_iput) btrfs_wait_and_free_delalloc_work(work); } - spin_lock(&root->fs_info->delalloc_lock); - if (!list_empty(&root->fs_info->delalloc_inodes)) { - spin_unlock(&root->fs_info->delalloc_lock); - goto again; - } - spin_unlock(&root->fs_info->delalloc_lock); - /* the filemap_flush will queue IO into the worker threads, but * we have to make sure the IO is actually started and that * ordered extents get created before we return