Using bit shifts for VXFS file modes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello filesystem developers!

I was scouting through the FreeVXFS code, when I came across this in
fs/freevxfs/vxfs.h:

enum vxfs_mode {
        VXFS_ISUID = 0x00000800, /* setuid */
        VXFS_ISGID = 0x00000400, /* setgid */
        VXFS_ISVTX = 0x00000200, /* sticky bit */
        VXFS_IREAD = 0x00000100, /* read */
        VXFS_IWRITE = 0x00000080, /* write */
        VXFS_IEXEC = 0x00000040, /* exec */

Especially in an expanded form like this, these are ugly to read, and
a pain to work with.

An example of potentially a better method, from fs/dax.c:

#define DAX_SHIFT (4)
#define DAX_LOCKED (1UL << 0)
#define DAX_PMD (1UL << 1)
#define DAX_ZERO_PAGE (1UL << 2)
#define DAX_EMPTY (1UL << 3)

Pardon the space condensation - my email client is not functioning properly.

Anyways, I believe using bit shifts to represent different file modes
would be a much better idea - no runtime penalty as they get
calculated into constants at compile time, and significantly easier
for the average user to read.

Any thoughts on this?

Best regards,
Amy Parker
(she/her/hers)



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux