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.
Suggested-by: Su Yue <[email protected]>
Signed-off-by: Petr Vorel <[email protected]>
---
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
+
#endif /* __LINUX_MAGIC_H__ */
--
2.43.0
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 <[email protected]>
> Signed-off-by: Petr Vorel <[email protected]>
> ---
> 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
>
Hi Brian,
> 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.
I was also thinking about this. I'll send v2.
> > Suggested-by: Su Yue <[email protected]>
> > Signed-off-by: Petr Vorel <[email protected]>
> > ---
> > 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.
I was asking myself, but did not see any rule :). But sure, I can add it below
FUSE_SUPER_MAGIC (the end of the first chunk).
Thanks for your review!
Kind regards,
Petr
> Brian
> > #endif /* __LINUX_MAGIC_H__ */
> > --
> > 2.43.0