]> git.hungrycats.org Git - linux/commitdiff
Revert "btrfs: Fix NO_SPACE bug caused by delayed-iput"
authorZygo Blaxell <zblaxell@serenity.furryterror.org>
Fri, 17 Apr 2015 16:21:15 +0000 (12:21 -0400)
committerZygo Blaxell <zblaxell@serenity.furryterror.org>
Fri, 17 Apr 2015 16:21:15 +0000 (12:21 -0400)
This reverts commit 8a143d4748470acc8b7bb9fb4c820cb46cc3fbd4.

fs/btrfs/ctree.h
fs/btrfs/disk-io.c
fs/btrfs/extent-tree.c
fs/btrfs/inode.c

index 57c080732f2cc146e9513bb3bc7672c5d2bbd53e..fc4f9b3a6088690586a284eec682f6a156399b15 100644 (file)
@@ -1513,7 +1513,6 @@ struct btrfs_fs_info {
 
        spinlock_t delayed_iput_lock;
        struct list_head delayed_iputs;
-       struct rw_semaphore delayed_iput_sem;
 
        /* this protects tree_mod_seq_list */
        spinlock_t tree_mod_seq_lock;
index 6c4317b7af97dcb1dd05e7416703325e7df59f9c..51abd27353340ae7d0b18162442de58f7216c831 100644 (file)
@@ -2487,11 +2487,9 @@ int open_ctree(struct super_block *sb,
        spin_lock_init(&fs_info->buffer_lock);
        spin_lock_init(&fs_info->unused_bgs_lock);
        rwlock_init(&fs_info->tree_mod_log_lock);
-       mutex_init(&fs_info->unused_bg_unpin_mutex);
        mutex_init(&fs_info->reloc_mutex);
        mutex_init(&fs_info->delalloc_root_mutex);
        seqlock_init(&fs_info->profiles_lock);
-       init_rwsem(&fs_info->delayed_iput_sem);
 
        init_completion(&fs_info->kobj_unregister);
        INIT_LIST_HEAD(&fs_info->dirty_cowonly_roots);
index 83202df0d02267c2dc3e8e0e111d24ae90f5b187..787bfe611c55e4ccee92aa76bad2e226ac2742b9 100644 (file)
@@ -3773,12 +3773,6 @@ commit_trans:
                                ret = btrfs_commit_transaction(trans, root);
                                if (ret)
                                        return ret;
-                               /*
-                                * make sure that all running delayed iput are
-                                * done
-                                */
-                               down_write(&root->fs_info->delayed_iput_sem);
-                               up_write(&root->fs_info->delayed_iput_sem);
                                goto again;
                        } else {
                                btrfs_end_transaction(trans, root);
index 4c2b3dbb31c2b17da2efa066f8fa713cdd93ca3e..bc3234935d78807938b03aa53a4b34b396f243ff 100644 (file)
@@ -3092,8 +3092,6 @@ void btrfs_run_delayed_iputs(struct btrfs_root *root)
        if (empty)
                return;
 
-       down_read(&fs_info->delayed_iput_sem);
-
        spin_lock(&fs_info->delayed_iput_lock);
        list_splice_init(&fs_info->delayed_iputs, &list);
        spin_unlock(&fs_info->delayed_iput_lock);
@@ -3104,8 +3102,6 @@ void btrfs_run_delayed_iputs(struct btrfs_root *root)
                iput(delayed->inode);
                kfree(delayed);
        }
-
-       up_read(&root->fs_info->delayed_iput_sem);
 }
 
 /*