Hi all, This new patch series refactors the existing code that handles metadata updates to the unlinked list when adding or removing inodes from that list. It then adds an in-core hashtable to record which inode's next_unlinked field points to a given inode. This enables us to remove any inode from the on-disk unlinked structure without having to actually walk the entire unlinked list, which reduces overhead substantially. 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=incore-unlinked-list xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=incore-unlinked-list fstests git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=incore-unlinked-list