[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4169583.1621981910@warthog.procyon.org.uk>
Date: Tue, 25 May 2021 23:31:50 +0100
From: David Howells <dhowells@...hat.com>
To: Andreas Dilger <adilger@...ger.ca>
Cc: dhowells@...hat.com, Theodore Ts'o <tytso@....edu>,
"Darrick J. Wong" <djwong@...nel.org>, Chris Mason <clm@...com>,
Ext4 Developers List <linux-ext4@...r.kernel.org>,
xfs <linux-xfs@...r.kernel.org>,
linux-btrfs <linux-btrfs@...r.kernel.org>,
linux-cachefs@...hat.com,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
NeilBrown <neilb@...e.com>
Subject: Re: How capacious and well-indexed are ext4, xfs and btrfs directories?
Andreas Dilger <adilger@...ger.ca> 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@fb.com/
Powered by blists - more mailing lists