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

From: Petr Vorel
Date: Tue May 07 2024 - 12:49:09 EST


> On Tue, May 07, 2024 at 05:37:57PM +0200, Petr Vorel wrote:
> > Move BCACHEFS_STATFS_MAGIC value to UAPI <linux/magic.h> under
> > BCACHEFS_SUPER_MAGIC definition (use common approach for name) and reuse the
> > definition in bcachefs_format.h BCACHEFS_STATFS_MAGIC.

> > There are other bcachefs magic definitions: BCACHE_MAGIC, BCHFS_MAGIC,
> > which use UUID_INIT() and are used only in libbcachefs. Therefore move
> > only BCACHEFS_STATFS_MAGIC value, which can be used outside of
> > libbcachefs for f_type field in struct statfs in statfs() or fstatfs().

> > Suggested-by: Su Yue <l@xxxxxxxxxxx>
> > Signed-off-by: Petr Vorel <pvorel@xxxxxxx>
> > ---

> I was thinking you'd just rename the STATFS_MAGIC def locally as well,
> but whatever.. LGTM, thanks for the tweaks!

Ah, I thought it'd be more readable this way from bcachefs point.
Kent, just let me know if you prefer Brian's way and I'll send v4.

Kind regards,
Petr

> Acked-by: Brian Foster <bfoster@xxxxxxxxxx>

> > Changes v2->v3:
> > * Align tab with other entries.

> > Changes v1->v2 (all suggested by Brian Foster - thanks!):
> > * rename constant to BCACHEFS_SUPER_MAGIC,
> > * keep BCACHEFS_STATFS_MAGIC in bcachefs_format.h, just include
> > <uapi/linux/magic.h> and use BCACHEFS_SUPER_MAGIC definition,
> > * move the constant to the first chunk.

> > Kind regards,
> > Petr

> > fs/bcachefs/bcachefs_format.h | 3 ++-
> > include/uapi/linux/magic.h | 1 +
> > 2 files changed, 3 insertions(+), 1 deletion(-)

> > diff --git a/fs/bcachefs/bcachefs_format.h b/fs/bcachefs/bcachefs_format.h
> > index f7fbfccd2b1e..3b831415409b 100644
> > --- a/fs/bcachefs/bcachefs_format.h
> > +++ b/fs/bcachefs/bcachefs_format.h
> > @@ -76,6 +76,7 @@
> > #include <asm/byteorder.h>
> > #include <linux/kernel.h>
> > #include <linux/uuid.h>
> > +#include <uapi/linux/magic.h>
> > #include "vstructs.h"

> > #ifdef __KERNEL__
> > @@ -1275,7 +1276,7 @@ enum bch_compression_opts {
> > UUID_INIT(0xc68573f6, 0x66ce, 0x90a9, \
> > 0xd9, 0x6a, 0x60, 0xcf, 0x80, 0x3d, 0xf7, 0xef)

> > -#define BCACHEFS_STATFS_MAGIC 0xca451a4e
> > +#define BCACHEFS_STATFS_MAGIC BCACHEFS_SUPER_MAGIC

> > #define JSET_MAGIC __cpu_to_le64(0x245235c1a3625032ULL)
> > #define BSET_MAGIC __cpu_to_le64(0x90135c78b99e07f5ULL)
> > diff --git a/include/uapi/linux/magic.h b/include/uapi/linux/magic.h
> > index 1b40a968ba91..bb575f3ab45e 100644
> > --- a/include/uapi/linux/magic.h
> > +++ b/include/uapi/linux/magic.h
> > @@ -37,6 +37,7 @@
> > #define HOSTFS_SUPER_MAGIC 0x00c0ffee
> > #define OVERLAYFS_SUPER_MAGIC 0x794c7630
> > #define FUSE_SUPER_MAGIC 0x65735546
> > +#define BCACHEFS_SUPER_MAGIC 0xca451a4e

> > #define MINIX_SUPER_MAGIC 0x137F /* minix v1 fs, 14 char names */
> > #define MINIX_SUPER_MAGIC2 0x138F /* minix v1 fs, 30 char names */
> > --
> > 2.43.0