RE: [PATCH] asm-generic headers: modify stat.h in include/asm-generic to be applicable to more architectures

From: Guan Xuetao
Date: Mon Jan 10 2011 - 08:58:16 EST


IMO, asm-generic headers should be used in more architectures as far as possible.
The patch of stat.h could be split into two parts to discuss.
Firstly, STAT64_HAS_BROKEN_ST_INO is defined in most architecture's asm/stat.h,
and it should be considered as the part in asm-generic/stat.h.
Secondly, STAT64_PAD_BEFORE_* are misunderstanding definitions, and perhaps
it should use STAT64_ST_SIZE_NEED_ALIGN_64.
Indeed, the macros are used for compatibility, but most architectures could make full use of
asm-generic headers, and new architectures could just follow the default values.

Guan Xuetao

> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@xxxxxxxx]
> Sent: Sunday, January 09, 2011 8:28 AM
> To: Guan Xuetao
> Cc: linux-arch@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] asm-generic headers: modify stat.h in include/asm-generic to be applicable to more architectures
>
> On Saturday 08 January 2011, Guan Xuetao wrote:
> > From: Guan Xuetao <guanxuetao@xxxxxxxxxxxxxxx>
> >
> > This patch modifies stat.h in include/asm-generic to be applicable to more architectures.
> > STAT64_HAS_BROKEN_ST_INO is defined in most architecture's asm/stat.h, and it need
> > 32-bit __st_ino member to be defined in different position of 64-bit st_ino member.
> > STAT64_PAD_BEFORE_ST_SIZE is the pad before st_size member, with default value 8 bytes.
> > STAT64_PAD_BEFORE_ST_BLOCKS is the pad before st_blocks member, with default value
> > 4 bytes to align the following member to 64-bit.
>
> I'd prefer not to apply this patch. It makes the generic header
> significantly more complex, and I can't see a significant benefit.
>
> The existing architectures would all still have to define the macros
> you test and also keep defining stuff like __old_kernel_stat, while
> risking to introduce bugs while changing to the common header. We've
> done similar tricks in other places, where the differences between
> architectures are smaller, but this one doesn't seem worth it
> unless we can get to the point where we can define struct stat in
> linux/stat.h for everyone and only do the macros for the architectures
> that need it.
>
> Arnd

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/