summaryrefslogtreecommitdiff
path: root/fs/stat.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2006-09-27 01:50:49 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-27 08:26:18 -0700
commitba52de123d454b57369f291348266d86f4b35070 (patch)
tree3973f3f3c853b5857b6b64a027cadd4fe954e3b9 /fs/stat.c
parent577c4eb09d1034d0739e3135fd2cff50588024be (diff)
downloadlinux-stable-ba52de123d454b57369f291348266d86f4b35070.tar.gz
linux-stable-ba52de123d454b57369f291348266d86f4b35070.tar.bz2
linux-stable-ba52de123d454b57369f291348266d86f4b35070.zip
[PATCH] inode-diet: Eliminate i_blksize from the inode structure
This eliminates the i_blksize field from struct inode. Filesystems that want to provide a per-inode st_blksize can do so by providing their own getattr routine instead of using the generic_fillattr() function. Note that some filesystems were providing pretty much random (and incorrect) values for i_blksize. [bunk@stusta.de: cleanup] [akpm@osdl.org: generic_fillattr() fix] Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/stat.c')
-rw-r--r--fs/stat.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/stat.c b/fs/stat.c
index 3a44dcf97da2..60a31d5e5966 100644
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -14,6 +14,7 @@
#include <linux/namei.h>
#include <linux/security.h>
#include <linux/syscalls.h>
+#include <linux/pagemap.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
@@ -32,7 +33,7 @@ void generic_fillattr(struct inode *inode, struct kstat *stat)
stat->ctime = inode->i_ctime;
stat->size = i_size_read(inode);
stat->blocks = inode->i_blocks;
- stat->blksize = inode->i_blksize;
+ stat->blksize = (1 << inode->i_blkbits);
}
EXPORT_SYMBOL(generic_fillattr);