[PATCH] 2TB files: change type of kstatfs entries
authorTakashi Sato <sho@tnes.nec.co.jp>
Sun, 26 Mar 2006 09:37:54 +0000 (01:37 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 26 Mar 2006 16:57:00 +0000 (08:57 -0800)
commite2d53f9525790dfacbcf09f359536311d3913d98
tree0e25006f7c99b81ba786a32795bd3e97012f043e
parent5515eff811cb807f0d3221a6e8cc223c7850d205
[PATCH] 2TB files: change type of kstatfs entries

This fix was proposed by Trond Myklebust.  He says: The type "sector_t" is
heavily tied in to the block layer interface as an offset/handle to a block,
and is subject to a supposedly block-specific configuration option:
CONFIG_LBD.  Despite this, it is used in struct kstatfs to save a couple of
bytes on the stack whenever we call the filesystems' ->statfs().

So kstatfs's entries related to blocks are invalid on statfs64 for a network
filesystem which has more than 2^32-1 blocks when CONFIG_LBD is disabled.

- struct kstatfs
  Change the type of following entries from sector_t to u64.
  f_blocks
  f_bfree
  f_bavail
  f_files
  f_ffree

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Takashi Sato <sho@tnes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/statfs.h