Re: stat64 for over 2TB file returned invalid st_blocks

From: Anton Altaparmakov
Date: Thu Dec 08 2005 - 09:50:15 EST


On Thu, 2005-12-08 at 09:27 -0500, Trond Myklebust wrote:
> On Thu, 2005-12-08 at 20:38 +0900, Takashi Sato wrote:
>
> > I prefer sector_t for i_blocks rather than newly defined blkcnt_t.
> > The reasons are:
> >
> > - Both i_blocks and common sector_t are for on-disk 512-byte unit.
> > In this point of view, they have the same character.
>
> One is a count of the number of blocks used by a file, and exists only
> in order to help filesystems cache this value. The other is a handle to
> a block. How is that the same?
>
> > - If we created the type blkcnt_t newly, the patch would have to
> > touch a lot of files as follows, like sector_t does.
> > block/Kconfig, asm-i386/types.h, asm-x86_64/types.h,
> > asm-ppc/types.h, asm-s390/types.h, asm-sh/types.h,
> > asm-h8300/types.h, asm-mips/types.h
> > It will be simple if we use sector_t for i_blocks.
>
> That is not a particularly good reason.
>
> > Also, I cannot imagine the situation that > 2TB files are used over
> > network with CONFIG_LBD disabled kernel. Is there such a thing
> > realistically?
>
> Apart from this and the kstat wart, there is no reason to set CONFIG_LBD
> for a networked filesystem. Why would you want to buy a > 2TB local disk
> on an HPC cluster node if you already have a server?
>
> I suppose we can make NFS use a private field instead, and just set
> i_blocks to 0, but that's unnecessarily wasteful too.

And it breaks applications, too (e.g. du will then report all your files
to be zero size)...

Best regards,

Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/

-
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/