The following series is for continued discussion of the need for and implementation of stable directory offsets for shmemfs/tmpfs. As discussed in Vancouver, I've re-implemented this change in libfs so that other "simple" filesystems can use it. There were a few other suggestions made during that event that I haven't tried yet. 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/dcache.c | 1 + fs/libfs.c | 185 +++++++++++++++++++++++++++++++++++++++++ include/linux/dcache.h | 1 + include/linux/fs.h | 9 ++ mm/shmem.c | 58 +++++++++---- 5 files changed, 240 insertions(+), 14 deletions(-) -- Chuck Lever