aboutsummaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-12-13 08:24:21 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:13 -0400
commitd42dd4ad6d7e15a7742ed008d1be3c37247547c9 (patch)
treea52b0407afe2f58fcd9fdc75477134f46c895715 /fs
parenta3e70fb287ee62ee14512a69e9a3e1870a057e11 (diff)
bcachefs: merge BCH_INODE_FIELDS_INHERIT/BCH_INODE_OPTS
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs')
-rw-r--r--fs/bcachefs/bcachefs_format.h21
-rw-r--r--fs/bcachefs/inode.c4
-rw-r--r--fs/bcachefs/opts.h15
3 files changed, 17 insertions, 23 deletions
diff --git a/fs/bcachefs/bcachefs_format.h b/fs/bcachefs/bcachefs_format.h
index 2e048d25d3a9..19d05a1a0224 100644
--- a/fs/bcachefs/bcachefs_format.h
+++ b/fs/bcachefs/bcachefs_format.h
@@ -716,16 +716,17 @@ struct bch_inode_generation {
x(bi_background_target, 16) \
x(bi_erasure_code, 16)
-#define BCH_INODE_FIELDS_INHERIT() \
- x(bi_data_checksum) \
- x(bi_compression) \
- x(bi_project) \
- x(bi_background_compression) \
- x(bi_data_replicas) \
- x(bi_promote_target) \
- x(bi_foreground_target) \
- x(bi_background_target) \
- x(bi_erasure_code)
+/* subset of BCH_INODE_FIELDS */
+#define BCH_INODE_OPTS() \
+ x(data_checksum, 8) \
+ x(compression, 8) \
+ x(project, 32) \
+ x(background_compression, 8) \
+ x(data_replicas, 8) \
+ x(promote_target, 16) \
+ x(foreground_target, 16) \
+ x(background_target, 16) \
+ x(erasure_code, 16)
enum {
/*
diff --git a/fs/bcachefs/inode.c b/fs/bcachefs/inode.c
index f967029584a7..a85b7a683a3a 100644
--- a/fs/bcachefs/inode.c
+++ b/fs/bcachefs/inode.c
@@ -265,8 +265,8 @@ void bch2_inode_init(struct bch_fs *c, struct bch_inode_unpacked *inode_u,
inode_u->bi_otime = now;
if (parent) {
-#define x(_name) inode_u->_name = parent->_name;
- BCH_INODE_FIELDS_INHERIT()
+#define x(_name, ...) inode_u->bi_##_name = parent->bi_##_name;
+ BCH_INODE_OPTS()
#undef x
}
}
diff --git a/fs/bcachefs/opts.h b/fs/bcachefs/opts.h
index 222c130c2054..faa2a72c8c3b 100644
--- a/fs/bcachefs/opts.h
+++ b/fs/bcachefs/opts.h
@@ -188,7 +188,10 @@ enum opt_type {
NO_SB_OPT, false) \
BCH_OPT(version_upgrade, u8, OPT_MOUNT, \
OPT_BOOL(), \
- NO_SB_OPT, false)
+ NO_SB_OPT, false) \
+ BCH_OPT(project, u8, OPT_INTERNAL, \
+ OPT_BOOL(), \
+ NO_SB_OPT, false) \
struct bch_opts {
#define BCH_OPT(_name, _bits, ...) unsigned _name##_defined:1;
@@ -281,16 +284,6 @@ int bch2_parse_mount_opts(struct bch_opts *, char *);
/* inode opts: */
-#define BCH_INODE_OPTS() \
- x(data_checksum, 8) \
- x(compression, 8) \
- x(background_compression, 8) \
- x(data_replicas, 8) \
- x(promote_target, 16) \
- x(foreground_target, 16) \
- x(background_target, 16) \
- x(erasure_code, 16)
-
struct bch_io_opts {
#define x(_name, _bits) unsigned _name##_defined:1;
BCH_INODE_OPTS()