btrfs: merge btrfs_del_delalloc_inode() helpers
authorDavid Sterba <dsterba@suse.com>
Thu, 22 Feb 2024 08:56:17 +0000 (09:56 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 4 Mar 2024 15:24:54 +0000 (16:24 +0100)
The helpers btrfs_del_delalloc_inode() and __btrfs_del_delalloc_inode()
don't follow the pattern when the "__" helper does a special case and
are in fact reversed regarding the naming. We can merge them into one as
there's only one place that needs to be open coded.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/btrfs_inode.h
fs/btrfs/disk-io.c
fs/btrfs/inode.c

index a35adc06ce0c6f4340e5b2443fc228afe77b9de7..100020ca4658ecbea490efd408dd93280c0bd3bb 100644 (file)
@@ -446,7 +446,7 @@ noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len,
                              u64 *orig_start, u64 *orig_block_len,
                              u64 *ram_bytes, bool nowait, bool strict);
 
-void __btrfs_del_delalloc_inode(struct btrfs_inode *inode);
+void btrfs_del_delalloc_inode(struct btrfs_inode *inode);
 struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry);
 int btrfs_set_inode_index(struct btrfs_inode *dir, u64 *index);
 int btrfs_unlink_inode(struct btrfs_trans_handle *trans,
index 4135464d785b3bb3d7fcf2be738985a90998d897..3df5477d48a81ef463e605f17affa97fdb33a2be 100644 (file)
@@ -4629,7 +4629,7 @@ static void btrfs_destroy_delalloc_inodes(struct btrfs_root *root)
                struct inode *inode = NULL;
                btrfs_inode = list_first_entry(&splice, struct btrfs_inode,
                                               delalloc_inodes);
-               __btrfs_del_delalloc_inode(btrfs_inode);
+               btrfs_del_delalloc_inode(btrfs_inode);
                spin_unlock(&root->delalloc_lock);
 
                /*
index cb23b3834c3d83521035741aa18e587b64032a59..904fff3d72f54b98f1248615523008cc1b4a3f83 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) &&