Re: [PATCH 1/1] bcachefs: Move BCACHEFS_STATFS_MAGIC to UAPI magic.h

From: Brian Foster
Date: Tue May 07 2024 - 09:39:48 EST


On Tue, May 07, 2024 at 01:11:24PM +0200, Petr Vorel wrote:
> There are other bcachefs magic definitions: BCACHE_MAGIC, BCHFS_MAGIC,
> which use UUID_INIT() and are used only in libbcachefs. Therefore move
> to <linux/magic.h> only BCACHEFS_STATFS_MAGIC, which can be used outside
> of libbcachefs for f_type field in struct statfs in statfs() or fstatfs().
>
> Keeping non-standard name BCACHEFS_STATFS_MAGIC instead of renaming it
> to more generic BCACHEFS_MAGIC to not confuse with the other bcachefs
> definitions.
>

Perhaps it would be better to use the standard naming for the global
header and let the bcachefs subsystem catch up with better names for
internal defs? Something like BCACHEFS_SUPER_MAGIC also seems like it
would be generally consistent, FWIW.

> Suggested-by: Su Yue <l@xxxxxxxxxxx>
> Signed-off-by: Petr Vorel <pvorel@xxxxxxx>
> ---
> fs/bcachefs/bcachefs_format.h | 2 --
> fs/bcachefs/fs.c | 1 +
> include/uapi/linux/magic.h | 2 ++
> 3 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/fs/bcachefs/bcachefs_format.h b/fs/bcachefs/bcachefs_format.h
> index f7fbfccd2b1e..52e03f13b780 100644
> --- a/fs/bcachefs/bcachefs_format.h
> +++ b/fs/bcachefs/bcachefs_format.h
> @@ -1275,8 +1275,6 @@ enum bch_compression_opts {
> UUID_INIT(0xc68573f6, 0x66ce, 0x90a9, \
> 0xd9, 0x6a, 0x60, 0xcf, 0x80, 0x3d, 0xf7, 0xef)
>
> -#define BCACHEFS_STATFS_MAGIC 0xca451a4e
> -
> #define JSET_MAGIC __cpu_to_le64(0x245235c1a3625032ULL)
> #define BSET_MAGIC __cpu_to_le64(0x90135c78b99e07f5ULL)
>
> diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c
> index fce690007edf..1c856ae2b0e2 100644
> --- a/fs/bcachefs/fs.c
> +++ b/fs/bcachefs/fs.c
> @@ -27,6 +27,7 @@
> #include "super.h"
> #include "xattr.h"
>
> +#include <uapi/linux/magic.h>
> #include <linux/aio.h>
> #include <linux/backing-dev.h>
> #include <linux/exportfs.h>
> diff --git a/include/uapi/linux/magic.h b/include/uapi/linux/magic.h
> index 1b40a968ba91..45c8f4916167 100644
> --- a/include/uapi/linux/magic.h
> +++ b/include/uapi/linux/magic.h
> @@ -103,4 +103,6 @@
> #define SECRETMEM_MAGIC 0x5345434d /* "SECM" */
> #define PID_FS_MAGIC 0x50494446 /* "PIDF" */
>
> +#define BCACHEFS_STATFS_MAGIC 0xca451a4e
> +

Is there intended to be at least some logical organization to this file?
It kind of looks like it, but maybe not as a rule. Personally, I'd
probably stick this somewhere in the first chunk of definitions where
the other major local/block filesystems are, but just a nit.

Brian

> #endif /* __LINUX_MAGIC_H__ */
> --
> 2.43.0
>