Re: [PATCH RFC DRAFT DOESNOTBUILD] inode: free up more space

Christoph Hellwig
2025-07-16T13:02:05Z

On Tue, Jul 15, 2025 at 05:09:03PM +0100, Matthew Wilcox wrote:
> will be harder, we have to get to 604 bytes. Although for my system if
> we could get xfs_inode down from 1024 bytes to 992, that'd save me much
> more memory ;-)

There's some relatively low hanging fruit there.

One would be to make the VFS inode i_ino a u64 finally so that XFS
and other modern files systems an stop having their own duplicate of
it (which would also remove tons of code in various file systems).

i_mount could be replaced by going to the VFS inode i_sb, and from
that to the xfs mount. That would be nicer if the sb was embeeded
into the fs structure to reduce the pointer chasing, though.

і_pincount could move into the xfs_inode_log_item, as it is only
needed for inodes that got logged.

i_ioend_lock and i_ioend_list (24 bytes) could be replaced with
a llist_node (8 bytes). All the i_ioend fields are only used for
inodes that are written to. We could move them into the inode
log item, which would then also be allocated for inodes that are
only purely overwritten and not actually logged.