summaryrefslogtreecommitdiffstats
path: root/fs/ext4/ext4.h
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2009-02-03 15:19:23 +0000
committerSteve French <sfrench@us.ibm.com>2009-02-03 15:19:23 +0000
commite1f81c8a417be466e85a38b61679aa6860ec7331 (patch)
tree749815f74bfad330e83560a10fd5da5fc4d8c765 /fs/ext4/ext4.h
parent0e2bedaa394f74fa9f75ee937488c33d90039b5a (diff)
parentb1792e367053968f2ddb48bc911d314143ce6242 (diff)
downloadop-kernel-dev-e1f81c8a417be466e85a38b61679aa6860ec7331.zip
op-kernel-dev-e1f81c8a417be466e85a38b61679aa6860ec7331.tar.gz
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r--fs/ext4/ext4.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index c668e43..aafc9eb 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1206,8 +1206,11 @@ static inline void ext4_r_blocks_count_set(struct ext4_super_block *es,
static inline loff_t ext4_isize(struct ext4_inode *raw_inode)
{
- return ((loff_t)le32_to_cpu(raw_inode->i_size_high) << 32) |
- le32_to_cpu(raw_inode->i_size_lo);
+ if (S_ISREG(le16_to_cpu(raw_inode->i_mode)))
+ return ((loff_t)le32_to_cpu(raw_inode->i_size_high) << 32) |
+ le32_to_cpu(raw_inode->i_size_lo);
+ else
+ return (loff_t) le32_to_cpu(raw_inode->i_size_lo);
}
static inline void ext4_isize_set(struct ext4_inode *raw_inode, loff_t i_size)
OpenPOWER on IntegriCloud