]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/btrfs/space-info.c
Merge tag 'wireless-drivers-2020-02-08' of git://git.kernel.org/pub/scm/linux/kernel...
[linux.git] / fs / btrfs / space-info.c
index 537bc310a673f113b40460bc7c83c8461e944d8c..01297c5b26665938d81c8504dc7bae21be49b9a3 100644 (file)
@@ -159,9 +159,9 @@ static inline u64 calc_global_rsv_need_space(struct btrfs_block_rsv *global)
        return (global->size << 1);
 }
 
-static int can_overcommit(struct btrfs_fs_info *fs_info,
-                         struct btrfs_space_info *space_info, u64 bytes,
-                         enum btrfs_reserve_flush_enum flush)
+int btrfs_can_overcommit(struct btrfs_fs_info *fs_info,
+                        struct btrfs_space_info *space_info, u64 bytes,
+                        enum btrfs_reserve_flush_enum flush)
 {
        u64 profile;
        u64 avail;
@@ -226,7 +226,8 @@ void btrfs_try_granting_tickets(struct btrfs_fs_info *fs_info,
 
                /* Check and see if our ticket can be satisified now. */
                if ((used + ticket->bytes <= space_info->total_bytes) ||
-                   can_overcommit(fs_info, space_info, ticket->bytes, flush)) {
+                   btrfs_can_overcommit(fs_info, space_info, ticket->bytes,
+                                        flush)) {
                        btrfs_space_info_update_bytes_may_use(fs_info,
                                                              space_info,
                                                              ticket->bytes);
@@ -639,13 +640,14 @@ btrfs_calc_reclaim_metadata_size(struct btrfs_fs_info *fs_info,
                return to_reclaim;
 
        to_reclaim = min_t(u64, num_online_cpus() * SZ_1M, SZ_16M);
-       if (can_overcommit(fs_info, space_info, to_reclaim,
-                          BTRFS_RESERVE_FLUSH_ALL))
+       if (btrfs_can_overcommit(fs_info, space_info, to_reclaim,
+                                BTRFS_RESERVE_FLUSH_ALL))
                return 0;
 
        used = btrfs_space_info_used(space_info, true);
 
-       if (can_overcommit(fs_info, space_info, SZ_1M, BTRFS_RESERVE_FLUSH_ALL))
+       if (btrfs_can_overcommit(fs_info, space_info, SZ_1M,
+                                BTRFS_RESERVE_FLUSH_ALL))
                expected = div_factor_fine(space_info->total_bytes, 95);
        else
                expected = div_factor_fine(space_info->total_bytes, 90);
@@ -1004,7 +1006,7 @@ static int __reserve_metadata_bytes(struct btrfs_fs_info *fs_info,
         */
        if (!pending_tickets &&
            ((used + orig_bytes <= space_info->total_bytes) ||
-            can_overcommit(fs_info, space_info, orig_bytes, flush))) {
+            btrfs_can_overcommit(fs_info, space_info, orig_bytes, flush))) {
                btrfs_space_info_update_bytes_may_use(fs_info, space_info,
                                                      orig_bytes);
                ret = 0;