[PATCH 3/3] libxfs: sync files with 2.6.38 kernel code

Christoph Hellwig hch at infradead.org
Mon Jan 24 02:57:51 CST 2011


> +/* 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.

> +	{ "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.

>  #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.

Looks good,


Reviewed-by: Christoph Hellwig <hch at lst.de>




More information about the xfs mailing list