[PATCH v3 0/9] xfs: gut the struct xfs_icdinode

Dave Chinner
2016-02-08T04:24:31Z

Hi folks,

This is the thrid version of this patchset, the second version is
here:

http://oss.sgi.com/archives/xfs/2016-01/msg00459.html

There is no change to the space savings the series gives us; it is
an update to address Brian's review comments. Testing over the past
couple of weeks indicates no new regressions, so hopefully this is
the final review posting. :)

Version 3
- fix typos/comments and use sb_meta_uuid (patch 3)
- introduce new patch for reclaimable inode core reinitialisation
infrastructure (patch 5)
- remove typedefs (patch 6)
- added field reinitialisation to function introduced in patch 5
(patches 6-9)
- removed stray debug hunk (patch 9)
- added reviewed-by tags to patches that have been reviewed already.

Version 2
- timestamps are signed, so need casting to int before being stored
in a 64 bit variable when read from disk. Fixes generic/258
failure (patch 2).
- nlink wasn't being accounted correctly for O_TMPFILE files and
rename whiteouts. Fixes generic/078 and others. (patch 5)
- VFS does not initialise i_mode, ever, so we need to initialise it
directly after slab allocation to ensure that we correctly detect
new file creates and hence don't add the inode the sb list twice,
corrupting it. (busy inodes after unmount, self destruct in 5
seconds, have a nice day!) (patch 8)
- when reallocating a reclaimable inode, we need to save the
variables that hold on-disk values across the inode_init_always()
call, otherwise we lose them. This results in corruption of these
fields. (patch 8)