Re: stat64 for over 2TB file returned invalid st_blocks

From: Avi Kivity
Date: Thu Dec 01 2005 - 08:52:33 EST


Jörn Engel wrote:

On Thu, 1 December 2005 21:00:26 +0900, Takashi Sato wrote:


diff -uprN -X linux-2.6.14.org/Documentation/dontdiff linux-2.6.14.or
g/include/asm-i386/stat.h linux-2.6.14-blocks/include/asm-i386/stat.h
--- linux-2.6.14.org/include/asm-i386/stat.h 2005-10-28 09:02:08.000000000 +0900
+++ linux-2.6.14-blocks/include/asm-i386/stat.h 2005-11-18 22:42:37.000000000 +0900
@@ -58,8 +58,7 @@ struct stat64 {
long long st_size;
unsigned long st_blksize;

- unsigned long st_blocks; /* Number 512-byte blocks allocated. */
- unsigned long __pad4; /* future possible st_blocks high bits */
+ unsigned long long st_blocks; /* Number 512-byte blocks allocated. */



After a closer look: have you tested this on a big-endian machine as
well? This heavily smells like it will work one one endianness only.



It's in asm-i386, which is always little endian.
-
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/