Andreas Dilger <adilger@xxxxxxxxx> wrote: > As described elsewhere in the thread, allowing concurrent create and unlink > in a directory (rename probably not needed) would be invaluable for scaling > multi-threaded workloads. Neil Brown posted a prototype patch to add this > to the VFS for NFS: Actually, one thing I'm looking at is using vfs_tmpfile() to create a new file (or a replacement file when invalidation is required) and then using vfs_link() to attach directory entries in the background (possibly using vfs_link() with AT_LINK_REPLACE[1] instead of unlink+link). Any thoughts on how that might scale? vfs_tmpfile() doesn't appear to require the directory inode lock. I presume the directory is required for security purposes in addition to being a way to specify the target filesystem. David [1] https://lore.kernel.org/linux-fsdevel/cover.1580251857.git.osandov@xxxxxx/