The following series implements stable directory offsets for shmemfs/tmpfs and provides infrastructure for use by other file systems that are based on simplefs. Changes since v5: - Rename functions and structures Changes since v4: - Remove new fields from struct inode/dentry - Remove EXPORT_SYMBOL and extern for new functions - Try again to fix error handling for rename_exchange Changes since v3: - Rebased on v6.4 - Fixed error handling bugs Changes since v2: - Move bulk of stable offset support into fs/libfs.c - Replace xa_find_after with xas_find_next for efficiency Changes since v1: - Break the single patch up into a series Changes since RFC: - Destroy xarray in shmem_destroy_inode() instead of free_in_core_inode() - A few cosmetic updates --- Chuck Lever (3): libfs: Add directory operations for stable offsets shmem: Refactor shmem_symlink() shmem: stable directory offsets fs/libfs.c | 247 +++++++++++++++++++++++++++++++++++++++ include/linux/fs.h | 18 +++ include/linux/shmem_fs.h | 1 + mm/shmem.c | 62 +++++++--- 4 files changed, 313 insertions(+), 15 deletions(-) -- Chuck Lever