It is useful to enable newer features like PFL, DoM, and FLR at format time, so that users unfamiliar with Lustre can have a default filesystem configuration that is most useful. In particular, enabling PFL for new filesystems is desirable for new releases, and if the MDT is configured with a large amount of space per inode (using e.g. "--mkfsoptions='-i 65536'" for ldiskfs, or always for ZFS) then a DoM component could be added.
Some options for implementing this exist:
- after formatting the MDT, when it is mounted as type ldiskfs use "lfs setstripe" to generate an xattr and write it to the ROOT/ directory using setxattr() instead of ioctl(). Allowing mkfs.lustre to accept an arbitrary layout would be most flexible.
- have "pre-built" xattrs that are written to the ROOT/ directory at format time (either inside the kernel or from mkfs.lustre. This would likely handle most of the cases, and for expert users that know they want a different default, they can set it after mount.
I don't think that mounting the MDT as type lustre, and then mounting a local client and using "lfs setstripe" is practical.