btrfs: merge btrfs_del_delalloc_inode() helpers
[linux-2.6-microblaze.git] / fs / btrfs / inode.c
index cb23b38..904fff3 100644 (file)
@@ -2410,7 +2410,7 @@ static void btrfs_add_delalloc_inode(struct btrfs_inode *inode)
        spin_unlock(&root->delalloc_lock);
 }
 
-void __btrfs_del_delalloc_inode(struct btrfs_inode *inode)
+void btrfs_del_delalloc_inode(struct btrfs_inode *inode)
 {
        struct btrfs_root *root = inode->root;
        struct btrfs_fs_info *fs_info = root->fs_info;
@@ -2436,13 +2436,6 @@ void __btrfs_del_delalloc_inode(struct btrfs_inode *inode)
        }
 }
 
-static void btrfs_del_delalloc_inode(struct btrfs_inode *inode)
-{
-       spin_lock(&inode->root->delalloc_lock);
-       __btrfs_del_delalloc_inode(inode);
-       spin_unlock(&inode->root->delalloc_lock);
-}
-
 /*
  * Properly track delayed allocation bytes in the inode and to maintain the
  * list of inodes that have pending delalloc work to be done.
@@ -2565,8 +2558,11 @@ void btrfs_clear_delalloc_extent(struct btrfs_inode *inode,
                 * and are therefore protected against concurrent calls of this
                 * function and btrfs_set_delalloc_extent().
                 */
-               if (!btrfs_is_free_space_inode(inode) && new_delalloc_bytes == 0)
+               if (!btrfs_is_free_space_inode(inode) && new_delalloc_bytes == 0) {
+                       spin_lock(&root->delalloc_lock);
                        btrfs_del_delalloc_inode(inode);
+                       spin_unlock(&root->delalloc_lock);
+               }
        }
 
        if ((state->state & EXTENT_DELALLOC_NEW) &&