]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
xfs: introduce inode log format object
authorDave Chinner <dchinner@redhat.com>
Wed, 17 Feb 2016 06:10:02 +0000 (17:10 +1100)
committerDave Chinner <david@fromorbit.com>
Wed, 17 Feb 2016 06:10:02 +0000 (17:10 +1100)
commit138659f139b51ffadc72deb8af356fbfdf745abe
tree028d4f00b94273255af1d6a91b5bca12cdf56ef3
parenta3d22941c50bbf8ed32ce370b0ac235d5cc27d35
xfs: introduce inode log format object

Source kernel commit f8d55aa0523ad0f78979c222ed18b78ea7be793a

We currently carry around and log an entire inode core in the
struct xfs_inode. A lot of the information in the inode core is
duplicated in the VFS inode, but we cannot remove this duplication
of infomration because the inode core is logged directly in
xfs_inode_item_format().

Add a new function xfs_inode_item_format_core() that copies the
inode core data into a struct xfs_icdinode that is pulled directly
from the log vector buffer. This means we no longer directly
copy the inode core, but copy the structures one member at a time.
This will be slightly less efficient than copying, but will allow us
to remove duplicate and unnecessary items from the struct xfs_inode.

To enable us to do this, call the new structure a xfs_log_dinode,
so that we know it's different to the physical xfs_dinode and the
in-core xfs_icdinode.

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
libxfs/xfs_log_format.h
logprint/log_misc.c
logprint/log_print_all.c
repair/phase6.c
repair/phase7.c