]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bcachefs: subvol_inum_eq()
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 19 May 2025 13:12:49 +0000 (09:12 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 22 May 2025 00:15:08 +0000 (20:15 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs.h
fs/bcachefs/fs.c
fs/bcachefs/inode.h
fs/bcachefs/namei.c

index 3077f15439cd095e15c36bccf1995f453e7ebef4..7824da2af9d03ce3f56dfcebdf876906df019ab8 100644 (file)
@@ -736,9 +736,6 @@ struct btree_trans_buf {
        struct btree_trans      *trans;
 };
 
-#define BCACHEFS_ROOT_SUBVOL_INUM                                      \
-       ((subvol_inum) { BCACHEFS_ROOT_SUBVOL,  BCACHEFS_ROOT_INO })
-
 #define BCH_WRITE_REFS()                                               \
        x(journal)                                                      \
        x(trans)                                                        \
index 9916bd38a599e85b03944ee765e47489be56cba9..ddfe89d8496660760af79798263b4a652cce0fbc 100644 (file)
@@ -191,11 +191,6 @@ int bch2_fs_quota_transfer(struct bch_fs *c,
        return ret;
 }
 
-static bool subvol_inum_eq(subvol_inum a, subvol_inum b)
-{
-       return a.subvol == b.subvol && a.inum == b.inum;
-}
-
 static u32 bch2_vfs_inode_hash_fn(const void *data, u32 len, u32 seed)
 {
        const subvol_inum *inum = data;
index bb81b7c269bb1b1f003bc265f7ada988c69cb9a7..bf6624aadc56a6809def979772552e5fb9726937 100644 (file)
@@ -309,6 +309,14 @@ bch2_inode_rebalance_opts_get(struct bch_fs *c, struct bch_inode_unpacked *inode
        return io_opts_to_rebalance_opts(c, &io_opts);
 }
 
+#define BCACHEFS_ROOT_SUBVOL_INUM                                      \
+       ((subvol_inum) { BCACHEFS_ROOT_SUBVOL,  BCACHEFS_ROOT_INO })
+
+static inline bool subvol_inum_eq(subvol_inum a, subvol_inum b)
+{
+       return a.subvol == b.subvol && a.inum == b.inum;
+}
+
 int bch2_inode_rm_snapshot(struct btree_trans *, u64, u32);
 int bch2_delete_dead_inodes(struct bch_fs *);
 
index 9136a90977893c6f3944f354bda3f230407f1dab..ce2d34698e6481c675ec84ca47a518596ce59ac2 100644 (file)
@@ -404,8 +404,7 @@ int bch2_rename_trans(struct btree_trans *trans,
 
        src_hash = bch2_hash_info_init(c, src_dir_u);
 
-       if (dst_dir.inum        != src_dir.inum ||
-           dst_dir.subvol      != src_dir.subvol) {
+       if (!subvol_inum_eq(dst_dir, src_dir)) {
                ret = bch2_inode_peek(trans, &dst_dir_iter, dst_dir_u, dst_dir,
                                      BTREE_ITER_intent);
                if (ret)
@@ -599,8 +598,7 @@ int bch2_inum_to_path(struct btree_trans *trans, subvol_inum inum, struct printb
        unsigned orig_pos = path->pos;
        int ret = 0;
 
-       while (!(inum.subvol == BCACHEFS_ROOT_SUBVOL &&
-                inum.inum   == BCACHEFS_ROOT_INO)) {
+       while (!subvol_inum_eq(inum, BCACHEFS_ROOT_SUBVOL_INUM)) {
                struct bch_inode_unpacked inode;
                ret = bch2_inode_find_by_inum_trans(trans, inum, &inode);
                if (ret)