Hi all, While playing around with realtime extent sizes and extent size hints, I noticed that it was very possible for userspace to trip the inode verifiers if they tried to set an extent size hint that wasn't aligned to the rt extent size and then create realtime files. This series tightens the existing checks and refactors the ioctls to use the libxfs validation functions like the verifiers, mkfs, and repair use. For v2, we also detect invalid extent size hints on existing filesystems and mitigate the problem by (a) not propagating the invalid hints to new realtime files and (b) removing invalid hints when set on directories. If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=extsize-fixes-5.13 --- fs/xfs/libxfs/xfs_inode_buf.c | 39 +++++++++++++-- fs/xfs/libxfs/xfs_trans_inode.c | 13 +++++ fs/xfs/xfs_inode.c | 46 +++++++++++++----- fs/xfs/xfs_ioctl.c | 100 +++++++++++++-------------------------- 4 files changed, 113 insertions(+), 85 deletions(-)