FS_DIRECTIO_FL in VFS

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

 



I was just looking at the FS_*_FL flags in a recent linux/fs.h, and
I see that there is now a FS_DIRECTIO_FL defined as 0x100000.  This
does not originate from ext* or e2fsprogs, and could result in a
conflict with a future ext* flag allocation without some attention
(at least defining it in e2fsprogs, along with EXT4_HUGE_FILE_FL 0x40000
which hasn't made it into e2fsprogs yet either).

There are a few things that worry me here:
- The migration of the EXT*_FL flags from ext*.h into fs.h has
  hidden the fact that these flags define the on-disk format of
  ext* inodes.  There is no comment that these flags even need
  to remain constant, and being part of an ioctl() interface
  makes this less likely to change than an internal constant,
  but it doesn't have the permanence of an on-disk (forever) constant.
- Since these values have been usurped from ext* into the VFS, we need
  to add a translation function in ext*_ioctl() to convert from the
  ioctl parameter into ext* values.  There is no guarantee that these
  mappings will remain identical.
- The ext2 code was changed to use the FS_*_FL values, but not
  ext3 and ext4.
- The inode attribute flag is only a 32-bit value, and if these flags
  are shared among all filesystems it could lead to exhaustion of the
  flags before we would have wanted for ext* or the VFS.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux