]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: move btrfs_check_trunc_cache_free_space into block-rsv.c
authorJosef Bacik <josef@toxicpanda.com>
Sat, 29 Apr 2023 20:07:10 +0000 (16:07 -0400)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Jun 2023 11:59:24 +0000 (13:59 +0200)
This is completely related to block rsv's, move it out of the free space
cache code and into block-rsv.c.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/block-rsv.c
fs/btrfs/block-rsv.h
fs/btrfs/free-space-cache.c
fs/btrfs/free-space-cache.h

index ac18c43fadadcade858daa32b93d0ae532218cb8..6279d200cf83228746dba1bc4186f1d46d6a5ea5 100644 (file)
@@ -541,3 +541,22 @@ try_reserve:
 
        return ERR_PTR(ret);
 }
+
+int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
+                                      struct btrfs_block_rsv *rsv)
+{
+       u64 needed_bytes;
+       int ret;
+
+       /* 1 for slack space, 1 for updating the inode */
+       needed_bytes = btrfs_calc_insert_metadata_size(fs_info, 1) +
+               btrfs_calc_metadata_size(fs_info, 1);
+
+       spin_lock(&rsv->lock);
+       if (rsv->reserved < needed_bytes)
+               ret = -ENOSPC;
+       else
+               ret = 0;
+       spin_unlock(&rsv->lock);
+       return ret;
+}
index 6dc781709acab9fe13898d41ea6e534f25fc81db..b0bd12b8652f4f51e467a95b4bfa36ec8d894837 100644 (file)
@@ -82,6 +82,8 @@ void btrfs_release_global_block_rsv(struct btrfs_fs_info *fs_info);
 struct btrfs_block_rsv *btrfs_use_block_rsv(struct btrfs_trans_handle *trans,
                                            struct btrfs_root *root,
                                            u32 blocksize);
+int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
+                                      struct btrfs_block_rsv *rsv);
 static inline void btrfs_unuse_block_rsv(struct btrfs_fs_info *fs_info,
                                         struct btrfs_block_rsv *block_rsv,
                                         u32 blocksize)
index fb606698bf3c8f8b6b32a12fb60579ad3725779f..880800418075994729fe8fecfee2bd491e9a7373 100644 (file)
@@ -292,25 +292,6 @@ out:
        return ret;
 }
 
-int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
-                                      struct btrfs_block_rsv *rsv)
-{
-       u64 needed_bytes;
-       int ret;
-
-       /* 1 for slack space, 1 for updating the inode */
-       needed_bytes = btrfs_calc_insert_metadata_size(fs_info, 1) +
-               btrfs_calc_metadata_size(fs_info, 1);
-
-       spin_lock(&rsv->lock);
-       if (rsv->reserved < needed_bytes)
-               ret = -ENOSPC;
-       else
-               ret = 0;
-       spin_unlock(&rsv->lock);
-       return ret;
-}
-
 int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
                                    struct btrfs_block_group *block_group,
                                    struct inode *vfs_inode)
index a855e0483e03d92fbd3dbbf8407c6221ee0903f0..33b4da3271b1beb926bb29d9d8511206b7074fa5 100644 (file)
@@ -101,8 +101,6 @@ int btrfs_remove_free_space_inode(struct btrfs_trans_handle *trans,
                                  struct inode *inode,
                                  struct btrfs_block_group *block_group);
 
-int btrfs_check_trunc_cache_free_space(struct btrfs_fs_info *fs_info,
-                                      struct btrfs_block_rsv *rsv);
 int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
                                    struct btrfs_block_group *block_group,
                                    struct inode *inode);