]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bcachefs: bch2_bkey_ptrs_rebalance_opts()
authorKent Overstreet <kent.overstreet@linux.dev>
Thu, 13 Mar 2025 04:47:51 +0000 (00:47 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 16 Mar 2025 17:47:55 +0000 (13:47 -0400)
Small optimization for bch2_bkey_sectors_need_rebalance()

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/rebalance.c

index 8b6795ec82f6e50c723245a94b7ae4666c205396..29a5693841469e90732bcf2961a92dc5c2ad1d4c 100644 (file)
@@ -26,9 +26,8 @@
 
 /* bch_extent_rebalance: */
 
-static const struct bch_extent_rebalance *bch2_bkey_rebalance_opts(struct bkey_s_c k)
+static const struct bch_extent_rebalance *bch2_bkey_ptrs_rebalance_opts(struct bkey_ptrs_c ptrs)
 {
-       struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(k);
        const union bch_extent_entry *entry;
 
        bkey_extent_entry_for_each(ptrs, entry)
@@ -38,6 +37,11 @@ static const struct bch_extent_rebalance *bch2_bkey_rebalance_opts(struct bkey_s
        return NULL;
 }
 
+static const struct bch_extent_rebalance *bch2_bkey_rebalance_opts(struct bkey_s_c k)
+{
+       return bch2_bkey_ptrs_rebalance_opts(bch2_bkey_ptrs_c(k));
+}
+
 static inline unsigned bch2_bkey_ptrs_need_compress(struct bch_fs *c,
                                           struct bch_io_opts *opts,
                                           struct bkey_s_c k,
@@ -97,11 +101,12 @@ static unsigned bch2_bkey_ptrs_need_rebalance(struct bch_fs *c,
 
 u64 bch2_bkey_sectors_need_rebalance(struct bch_fs *c, struct bkey_s_c k)
 {
-       const struct bch_extent_rebalance *opts = bch2_bkey_rebalance_opts(k);
+       struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(k);
+
+       const struct bch_extent_rebalance *opts = bch2_bkey_ptrs_rebalance_opts(ptrs);
        if (!opts)
                return 0;
 
-       struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(k);
        const union bch_extent_entry *entry;
        struct extent_ptr_decoded p;
        u64 sectors = 0;