On Wed, Jan 20, 2021 at 05:28:36PM +0000, Christoph Hellwig wrote:
On Wed, Jan 20, 2021 at 06:27:05PM +0100, Jan Kara wrote:
quoted
This would mean pulling i_mmap_sem out from ext4/XFS/F2FS private inode
into the VFS inode. Which is fine by me but it would grow struct inode for
proc / tmpfs / btrfs (although for btrfs I'm not convinced it isn't
actually prone to the race and doesn't need similar protection as xfs /
ext4) so some people may object.
The btrfs folks are already looking into lifting it to common code.
Also I have a patch pending to remove a list_head from the inode to
counter the size increase :)
We can get rid of nrexceptional as well:
https://lore.kernel.org/linux-fsdevel/20201026151849.24232-1-willy@infradead.org/ (local)
We can also reduce the size of the rwsem by one word by replacing the list_head with a single pointer.
https://git.infradead.org/users/willy/pagecache.git/shortlog/refs/heads/wlist
(haven't touched it in almost four years, seemed to have a bug last time
i looked at it).