xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 3/3] libxfs: sync files with 2.6.38 kernel code
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 24 Jan 2011 03:57:51 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1294649091-27174-4-git-send-email-david@xxxxxxxxxxxxx>
References: <1294649091-27174-1-git-send-email-david@xxxxxxxxxxxxx> <1294649091-27174-4-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
> +/* 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@xxxxxx>

<Prev in Thread] Current Thread [Next in Thread>