[PATCH 3/3] libxfs: sync files with 2.6.38 kernel code
Dave Chinner
david at fromorbit.com
Mon Jan 24 17:55:32 CST 2011
On Mon, Jan 24, 2011 at 03:57:51AM -0500, Christoph Hellwig wrote:
> > +/* XXX: fix this up! */
> > #define OFF(f) bitize(offsetof(xfs_dinode_t, di_ ## f))
> > const field_t inode_flds[] = {
> > - { "core", FLDT_DINODE_CORE, OI(OFF(core)), C1, 0, TYP_NONE },
> > - { "next_unlinked", FLDT_AGINO, OI(OFF(next_unlinked)), C1, 0,
> > - TYP_INODE },
> > - { "u", FLDT_DINODE_U, OI(OFF(u)), C1, 0, TYP_NONE },
> > + { "core", FLDT_DINODE_CORE, OI(OFF(magic)), C1, 0, TYP_NONE },
> > + { "u", FLDT_DINODE_U, inode_u_offset, C1, FLD_OFFSET, TYP_NONE },
>
> I think the right way to fix this is to copy over all fields from
> the dinode core, and keep a "virtual" core field and the inode_core
> table for backwards compatiblity.
OK. By "virtual" core field, do you mean something like what I have
about, or something different?
> > + { "next_unlinked", FLDT_AGINO, OI(OFF(next_unlinked)), C1, 0,
> > + TYP_INODE },
>
> I think this one should only be added to the real dinode, not the core.
Good catch. I mixed up what was in xfs_icdinode and xfs_dinode
there.
>
> > #define XFS_BUF_LOCK 0
> > #define XFS_BUF_TRYLOCK 0
> > +#define XBF_LOCK XFS_BUF_LOCK
> > +#define XBF_TRYLOCK XFS_BUF_TRYLOCK
> > +#define XBF_DONT_BLOCK 0
>
> Please kill off the XFS_BUF_* flags, just like in kernelspace.
Will do.
Thanks for spending the time to look over these huge patches,
Christoph.
Cheers,
Dave.
--
Dave Chinner
david at fromorbit.com
More information about the xfs
mailing list