xfs
[Top] [All Lists]

Re: [PATCH TARBALL, DEV ONLY] xfsprogs: metadata CRC support V2

To: Mark Tinguely <tinguely@xxxxxxx>
Subject: Re: [PATCH TARBALL, DEV ONLY] xfsprogs: metadata CRC support V2
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 30 Apr 2013 08:09:52 +1000
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <517EE729.2030706@xxxxxxx>
References: <20130412145555.GF30622@dastard> <51799C24.8010901@xxxxxxx> <20130425214040.GQ30622@dastard> <517EE729.2030706@xxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Apr 29, 2013 at 04:33:29PM -0500, Mark Tinguely wrote:
> On 04/25/13 16:40, Dave Chinner wrote:
> >On Thu, Apr 25, 2013 at 04:12:04PM -0500, Mark Tinguely wrote:
> >>On 04/12/13 09:55, Dave Chinner wrote:
> >>>Hi folks,
> >>>
> >>>I've attached a tarball containing the patch series that adds
> >>>metadata CRC support to xfsprogs. It is still very much a work in
> >>>progress, but is sufficient to start running xfstests on CRC enable
> >>>filesystems.
> >>>
> >>>THere is much missing functionality, especially with respect to
> >>>directly/attribute modifications. Only mkfs and xfs_repair have been
> >>>updated to explicitly support CRC on directory/sttribute blocks,
> >>>though all the other tools will stil run the result might be a
> >>>little unpredictable.
> >>>
> >>>The patch series is as follows:
> >>>
> >>
> >>BTW forgot about this gem, the UBER/xfsprogs-kernel-3.8-update patch
> >>has been kicking up duplicate defines in sles11sp2 (gcc 4.3.4), but
> >>fine in newer distros (gcc 4.6.2). Looks like a compile difference
> >>issue:
> >>
> >>xfs_dir2_data_aoff_t  xfs_dir2_format.h and xfs_dir2.h
> >>xfs_dir2_db_t         xfs_dir2_format.h and xfs_dir2.h
> >>
> >>The one below seems new to me:
> >>prid_t                project.h and xfs_types.h
> >>
> >>I have been removing the entry in xfs_dir2_format.h in the past to test.
> >>I don't remember the prid_t duplicate.
> >
> >Hmmmm. I'm not getting those warnings here (gcc-4.7.2). I'll have a
> >look into it....
> >
> >Cheers,
> >
> >Dave.
> 
> 
> I replaced the gcc-4.3 compiler with a gcc-4.6.3 compiler and the
> duplicates errors disappeared.
> 
> The following patch works with both the gcc-4.3 and gcc-4.6 compilers.
> 
> Beyond the duplicates, the header and libxfs files in
> thexfsprogs-kernel-3.8-update patch compare to Linux 3.8 kernel code
> and I consider it Reviewed-by: me.

I've got an updated version of the the update that has the dir v1
removal staged before it that I've been testing the last couple of
days. I'll post that later today with an updated version of your
fixes and a couple of other fixes that I've been sent in the last
couple of days as well...

> I will do the xfsprogs-kernel-3.9-rc1-dev-update tonight.

It's probably worth waiting a short while before doing that ;)

> Index: b/include/xfs/project.h
> ===================================================================
> --- a/include/xfs/project.h
> +++ b/include/xfs/project.h
> @@ -20,10 +20,6 @@
> 
>  #include <xfs/xfs.h>
> 
> -#if !defined(__sgi__)
> -typedef __uint32_t   prid_t;
> -#endif
> -

Yeah, that can go, but what it means is that the Irix build will
probably now break with duplicate definitions. I don't have an Irix
build environment, so somebody else is going to have to fix that if
they care...

>  extern int setprojid(const char *__name, int __fd, prid_t __id);
>  extern int getprojid(const char *__name, int __fd, prid_t *__id);
> 
> Index: b/include/xfs/xfs_dir2_format.h
> ===================================================================
> --- a/include/xfs/xfs_dir2_format.h
> +++ b/include/xfs/xfs_dir2_format.h
> @@ -40,7 +40,6 @@
>   */
>  typedef      __uint16_t      xfs_dir2_data_off_t;
>  #define      NULLDATAOFF     0xffffU
> -typedef uint         xfs_dir2_data_aoff_t;   /* argument form */

This file is common with the kernel code, so whatever other
definition it conflicts with is the one to remove.

> @@ -61,11 +60,6 @@ typedef    __uint32_t      xfs_dir2_dataptr_t;
>  typedef      xfs_off_t       xfs_dir2_off_t;
> 
>  /*
> - * Directory block number (logical dirblk in file)
> - */
> -typedef      __uint32_t      xfs_dir2_db_t;

Same here.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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