]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
xfs: cull unnecessary icdinode fields
authorDave Chinner <dchinner@redhat.com>
Wed, 17 Feb 2016 06:51:01 +0000 (17:51 +1100)
committerDave Chinner <david@fromorbit.com>
Wed, 17 Feb 2016 06:51:01 +0000 (17:51 +1100)
commitdb17aebeb4515c911b5505f5da4d8773bfc227c0
tree88fc6cb198a00ac61426df124ca3ccf52921a2ea
parent1bc6cbe33aefb0c112697ffdd6ff632a01cdad3f
xfs: cull unnecessary icdinode fields

Source kernel commit 93f958f9c41f0bfd10627a2279457df64004d957

Now that the struct xfs_icdinode is not directly related to the
on-disk format, we can cull things in it we really don't need to
store:

- magic number never changes
- padding is not necessary
- next_unlinked is never used
- inode number is redundant
- uuid is redundant
- lsn is accessed directly from dinode
- inode CRC is only accessed directly from dinode

Hence we can remove these from the struct xfs_icdinode and redirect
the code that uses them to the xfs_dinode appripriately.  This
reduces the size of the struct icdinode from 152 bytes to 88 bytes,
and removes a fair chunk of unnecessary code, too.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
db/check.c
libxfs/util.c
libxfs/xfs_inode_buf.c
libxfs/xfs_inode_buf.h
repair/phase6.c