diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-12-13 08:24:21 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:13 -0400 |
commit | d42dd4ad6d7e15a7742ed008d1be3c37247547c9 (patch) | |
tree | a52b0407afe2f58fcd9fdc75477134f46c895715 /fs | |
parent | a3e70fb287ee62ee14512a69e9a3e1870a057e11 (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.h | 21 | ||||
-rw-r--r-- | fs/bcachefs/inode.c | 4 | ||||
-rw-r--r-- | 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 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() |