bcachefs: cmp_int()
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 12 Apr 2019 08:54:12 +0000 (04:54 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:20 +0000 (17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
12 files changed:
fs/bcachefs/alloc_background.c
fs/bcachefs/bkey.c
fs/bcachefs/bkey.h
fs/bcachefs/bset.h
fs/bcachefs/btree_update_leaf.c
fs/bcachefs/ec.c
fs/bcachefs/fs.h
fs/bcachefs/journal_seq_blacklist.c
fs/bcachefs/movinggc.c
fs/bcachefs/replicas.c
fs/bcachefs/sysfs.c
fs/bcachefs/util.h

index acd7be90fc47c20551c92d25c02efbfe8b8cb824..b3a8ff0b1daa2ab7b3f785dac32d5163d68a7c1a 100644 (file)
@@ -687,16 +687,16 @@ static inline int bucket_alloc_cmp(alloc_heap *h,
                                   struct alloc_heap_entry l,
                                   struct alloc_heap_entry r)
 {
-       return (l.key > r.key) - (l.key < r.key) ?:
-               (l.nr < r.nr)  - (l.nr  > r.nr) ?:
-               (l.bucket > r.bucket) - (l.bucket < r.bucket);
+       return  cmp_int(l.key, r.key) ?:
+               cmp_int(r.nr, l.nr) ?:
+               cmp_int(l.bucket, r.bucket);
 }
 
 static inline int bucket_idx_cmp(const void *_l, const void *_r)
 {
        const struct alloc_heap_entry *l = _l, *r = _r;
 
-       return (l->bucket > r->bucket) - (l->bucket < r->bucket);
+       return cmp_int(l->bucket, r->bucket);
 }
 
 static void find_reclaimable_buckets_lru(struct bch_fs *c, struct bch_dev *ca)
index 8a3295ff96311fe3d089a79ff6e76fefe72bffcd..8b3c9ae8d2662a851dd74e4e03e0351fca059eb9 100644 (file)
@@ -1024,7 +1024,7 @@ static inline int __bkey_cmp_bits(const u64 *l, const u64 *r,
                r_v = *r;
        }
 
-       return (l_v > r_v) - (l_v < r_v);
+       return cmp_int(l_v, r_v);
 }
 #endif
 
index 44044fcd6f9f10bbbbba3baa948750ccd0cf8c45..45de61d492a4bf426f2bbd19abe49fe89c20af25 100644 (file)
@@ -217,8 +217,8 @@ void bch2_bkey_swab_key(const struct bkey_format *, struct bkey_packed *);
 
 static __always_inline int bversion_cmp(struct bversion l, struct bversion r)
 {
-       return  (l.hi > r.hi) - (l.hi < r.hi) ?:
-               (l.lo > r.lo) - (l.lo < r.lo);
+       return  cmp_int(l.hi, r.hi) ?:
+               cmp_int(l.lo, r.lo);
 }
 
 #define ZERO_VERSION   ((struct bversion) { .hi = 0, .lo = 0 })
index 329ffb0b6b3d8609dee95f5be98eff9f937349ac..da3e41cc975743bd8c041b2100eb96b3815a2121 100644 (file)
@@ -465,7 +465,7 @@ static inline int bkey_iter_cmp(struct btree *b,
 {
        return bkey_cmp_packed(b, l, r)
                ?: (int) bkey_deleted(r) - (int) bkey_deleted(l)
-               ?: (l > r) - (l < r);
+               ?: cmp_int(l, r);
 }
 
 static inline int btree_node_iter_cmp(struct btree *b,
index 8e686dc42f9dc49664ffaa927243f90de987c14a..48d3be5174713fc949cfce883555735e36cd54df 100644 (file)
@@ -55,7 +55,7 @@ static void btree_trans_unlock_write(struct btree_trans *trans)
 static inline int btree_trans_cmp(struct btree_insert_entry l,
                                  struct btree_insert_entry r)
 {
-       return (l.deferred > r.deferred) - (l.deferred < r.deferred) ?:
+       return cmp_int(l.deferred, r.deferred) ?:
                btree_iter_cmp(l.iter, r.iter);
 }
 
index ea009f0ff829aadc18970cd8d91ac6ea95b2439c..6a357e5b652e70f8f439e457f1c31b76bc1ebb50 100644 (file)
@@ -951,7 +951,7 @@ static int unsigned_cmp(const void *_l, const void *_r)
        unsigned l = *((const unsigned *) _l);
        unsigned r = *((const unsigned *) _r);
 
-       return (l > r) - (l < r);
+       return cmp_int(l, r);
 }
 
 /* pick most common bucket size: */
index b9a8a9bc3e90534bfa1fc72e6c29c2c5c7868ad1..e72d6a58b3222d0a2df2519f3b043310c1e63ec8 100644 (file)
@@ -54,7 +54,7 @@ struct bch_inode_info {
 
 static inline int ptrcmp(void *l, void *r)
 {
-       return (l > r) - (l < r);
+       return cmp_int(l, r);
 }
 
 #define __bch2_lock_inodes(_lock, ...)                                 \
index 0df8dfccd5b5339be3f38ad07e0b8f242b240b09..ae64bf3248efeee0fe347065c52de5724ebf554d 100644 (file)
@@ -136,7 +136,7 @@ static int journal_seq_blacklist_table_cmp(const void *_l,
        const struct journal_seq_blacklist_table_entry *l = _l;
        const struct journal_seq_blacklist_table_entry *r = _r;
 
-       return (l->start > r->start) - (l->start < r->start);
+       return cmp_int(l->start, r->start);
 }
 
 bool bch2_journal_seq_is_blacklisted(struct bch_fs *c, u64 seq,
index 78d9ca8bfc5e39e6dcf52cf144033e7278ecb1ee..aba13e6ea4ffc72870e8efdd4973497b72b69544 100644 (file)
@@ -54,7 +54,7 @@ static inline int sectors_used_cmp(copygc_heap *heap,
                                   struct copygc_heap_entry l,
                                   struct copygc_heap_entry r)
 {
-       return (l.sectors > r.sectors) - (l.sectors < r.sectors);
+       return cmp_int(l.sectors, r.sectors);
 }
 
 static int bucket_offset_cmp(const void *_l, const void *_r, size_t size)
@@ -62,7 +62,7 @@ static int bucket_offset_cmp(const void *_l, const void *_r, size_t size)
        const struct copygc_heap_entry *l = _l;
        const struct copygc_heap_entry *r = _r;
 
-       return (l->offset > r->offset) - (l->offset < r->offset);
+       return cmp_int(l->offset, r->offset);
 }
 
 static bool __copygc_pred(struct bch_dev *ca,
index b66217989b718a006aa5586d05c177271149e87f..b1df2c1ce4a42340a2937e771b1e7e862c3bd1db 100644 (file)
@@ -12,7 +12,7 @@ static int bch2_cpu_replicas_to_sb_replicas(struct bch_fs *,
 
 static inline int u8_cmp(u8 l, u8 r)
 {
-       return (l > r) - (l < r);
+       return cmp_int(l, r);
 }
 
 static void verify_replicas_entry_sorted(struct bch_replicas_entry *e)
index db87a63b97cc75859670c2fd3b31fcb531103a45..f4b70f66d0ac276573ab15b2f58c34a999eaa7c7 100644 (file)
@@ -751,10 +751,10 @@ static unsigned bucket_oldest_gen_fn(struct bch_fs *c, struct bch_dev *ca,
 
 static int unsigned_cmp(const void *_l, const void *_r)
 {
-       unsigned l = *((unsigned *) _l);
-       unsigned r = *((unsigned *) _r);
+       const unsigned *l = _l;
+       const unsigned *r = _r;
 
-       return (l > r) - (l < r);
+       return cmp_int(*l, *r);
 }
 
 static ssize_t show_quantiles(struct bch_fs *c, struct bch_dev *ca,
index dc40a52ac8c72b11632889d0c4a3aea18c4f68f2..59c8a1dac7be02cb750ac18ad17f0f340d73f43d 100644 (file)
@@ -743,4 +743,6 @@ static inline void acc_u64s_percpu(u64 *acc, const u64 __percpu *src,
 
 u64 *bch2_acc_percpu_u64s(u64 __percpu *, unsigned);
 
+#define cmp_int(l, r)          ((l > r) - (l < r))
+
 #endif /* _BCACHEFS_UTIL_H */