Hi all, This patchset improves the performance of log incompat feature bit handling by making a few changes to how the filesystem handles them. First, we now only clear the bits during a clean unmount to reduce calls to the (expensive) upgrade function to once per bit per mount. Second, we now only allow incompat feature upgrades for sysadmins or if the sysadmin explicitly allows it via mount option. Currently the only log incompat user is logged xattrs, which requires CONFIG_XFS_DEBUG=y, so there should be no user visible impact to this change. If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. This has been running on the djcloud for months with no problems. 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=log-incompat-permissions --- Commits in this patchset: * xfs: only clear log incompat flags at clean unmount * xfs: only add log incompat features with explicit permission --- Documentation/admin-guide/xfs.rst | 7 +++ .../filesystems/xfs/xfs-online-fsck-design.rst | 3 - fs/xfs/xfs_log.c | 28 ------------- fs/xfs/xfs_log.h | 2 - fs/xfs/xfs_log_priv.h | 3 - fs/xfs/xfs_log_recover.c | 15 ------- fs/xfs/xfs_mount.c | 34 ++++++++++++++++ fs/xfs/xfs_mount.h | 9 ++++ fs/xfs/xfs_super.c | 12 +++++- fs/xfs/xfs_xattr.c | 42 +++----------------- 10 files changed, 66 insertions(+), 89 deletions(-)