summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Sato <sho@tnes.nec.co.jp>2006-03-26 01:37:54 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-26 08:57:00 -0800
commite2d53f9525790dfacbcf09f359536311d3913d98 (patch)
tree0e25006f7c99b81ba786a32795bd3e97012f043e
parent5515eff811cb807f0d3221a6e8cc223c7850d205 (diff)
downloadop-kernel-dev-e2d53f9525790dfacbcf09f359536311d3913d98.zip
op-kernel-dev-e2d53f9525790dfacbcf09f359536311d3913d98.tar.gz
[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>
-rw-r--r--include/linux/statfs.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/statfs.h b/include/linux/statfs.h
index ad83a2b..b34cc82 100644
--- a/include/linux/statfs.h
+++ b/include/linux/statfs.h
@@ -8,11 +8,11 @@
struct kstatfs {
long f_type;
long f_bsize;
- sector_t f_blocks;
- sector_t f_bfree;
- sector_t f_bavail;
- sector_t f_files;
- sector_t f_ffree;
+ u64 f_blocks;
+ u64 f_bfree;
+ u64 f_bavail;
+ u64 f_files;
+ u64 f_ffree;
__kernel_fsid_t f_fsid;
long f_namelen;
long f_frsize;
OpenPOWER on IntegriCloud