On Apr 13, 2018, at 10:11 AM, Christian Brauner wrote: > > Consistenly use << to define ST_* constants. This also aligns them with > their MS_* counterparts in fs.h IMHO, using (1 << 10) makes the code harder to debug. If you see a field in a structure like 0x8354, it is non-trivial to map this to the ST_* flags if they are declared in the form (1 << 10) or BIT(10). If they are declared in the form 0x100 (as they are now) then it is trivial that the ST_APPEND flag is set in 0x8354, and easy to understand the other flags. So, my preference would be to NOT land this or the previous patch. Cheers, Andreas > Signed-off-by: Christian Brauner > --- > include/linux/statfs.h | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > diff --git a/include/linux/statfs.h b/include/linux/statfs.h > index 3142e98546ac..b336c04e793c 100644 > --- a/include/linux/statfs.h > +++ b/include/linux/statfs.h > @@ -27,18 +27,18 @@ struct kstatfs { > * ABI. The exception is ST_VALID which has the same value as MS_REMOUNT > * which doesn't make any sense for statfs. > */ > -#define ST_RDONLY 0x0001 /* mount read-only */ > -#define ST_NOSUID 0x0002 /* ignore suid and sgid bits */ > -#define ST_NODEV 0x0004 /* disallow access to device special files */ > -#define ST_NOEXEC 0x0008 /* disallow program execution */ > -#define ST_SYNCHRONOUS 0x0010 /* writes are synced at once */ > -#define ST_VALID 0x0020 /* f_flags support is implemented */ > -#define ST_MANDLOCK 0x0040 /* allow mandatory locks on an FS */ > -/* 0x0080 used for ST_WRITE in glibc */ > -/* 0x0100 used for ST_APPEND in glibc */ > -/* 0x0200 used for ST_IMMUTABLE in glibc */ > -#define ST_NOATIME 0x0400 /* do not update access times */ > -#define ST_NODIRATIME 0x0800 /* do not update directory access times */ > -#define ST_RELATIME 0x1000 /* update atime relative to mtime/ctime */ > +#define ST_RDONLY (1<<0) /* mount read-only */ > +#define ST_NOSUID (1<<1) /* ignore suid and sgid bits */ > +#define ST_NODEV (1<<2) /* disallow access to device special files */ > +#define ST_NOEXEC (1<<3) /* disallow program execution */ > +#define ST_SYNCHRONOUS (1<<4) /* writes are synced at once */ > +#define ST_VALID (1<<5) /* f_flags support is implemented */ > +#define ST_MANDLOCK (1<<6) /* allow mandatory locks on an FS */ > +/* (1<<7) used for ST_WRITE in glibc */ > +/* (1<<8) used for ST_APPEND in glibc */ > +/* (1<<9) used for ST_IMMUTABLE in glibc */ > +#define ST_NOATIME (1<<10) /* do not update access times */ > +#define ST_NODIRATIME (1<<11) /* do not update directory access times */ > +#define ST_RELATIME (1<<12) /* update atime relative to mtime/ctime */ > > #endif > -- > 2.17.0 > Cheers, Andreas