Re: [PATCH] bcachefs: rename version -> bversion for big endian builds

From: Kent Overstreet
Date: Mon Sep 30 2024 - 06:12:08 EST


On Mon, Sep 30, 2024 at 12:04:42PM GMT, Geert Uytterhoeven wrote:
> On Mon, Sep 30, 2024 at 2:39 AM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > Builds on big endian systems fail as follows.
> >
> > fs/bcachefs/bkey.h: In function 'bch2_bkey_format_add_key':
> > fs/bcachefs/bkey.h:557:41: error:
> > 'const struct bkey' has no member named 'bversion'
> >
> > The original commit only renamed the variable for little endian builds.
> > Rename it for big endian builds as well to fix the problem.
> >
> > Fixes: cf49f8a8c277 ("bcachefs: rename version -> bversion")
>
> Which is (again) not found on any mailing list, and has never been in
> linux-next before it hit upstream...
>
> > Cc: Kent Overstreet <kent.overstreet@xxxxxxxxx>
> > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
>
> > --- a/fs/bcachefs/bcachefs_format.h
> > +++ b/fs/bcachefs/bcachefs_format.h
> > @@ -223,7 +223,7 @@ struct bkey {
> > #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
> > struct bpos p;
> > __u32 size; /* extent size, in sectors */
> > - struct bversion version;
> > + struct bversion bversion;
> >
> > __u8 pad[1];
> > #endif
>
> BTW, how does this work when accessing a non-native file system?
> Didn't we stop doing bi-endian file systems in v2.1.10, when ext2 was
> converted from a bi-endian to a little-endian file system?

we byte swab if necessary