From d42dd4ad6d7e15a7742ed008d1be3c37247547c9 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Thu, 13 Dec 2018 08:24:21 -0500 Subject: [PATCH] bcachefs: merge BCH_INODE_FIELDS_INHERIT/BCH_INODE_OPTS Signed-off-by: Kent Overstreet --- fs/bcachefs/bcachefs_format.h | 21 +++++++++++---------- fs/bcachefs/inode.c | 4 ++-- fs/bcachefs/opts.h | 15 ++++----------- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/fs/bcachefs/bcachefs_format.h b/fs/bcachefs/bcachefs_format.h index 2e048d25d3a91..19d05a1a02244 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 f967029584a7c..a85b7a683a3a9 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 222c130c2054b..faa2a72c8c3bd 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() -- 2.30.2