ocfs2: Fix up i_blocks calculation to know about holes
Older file systems which didn't support holes did a dumb calculation of i_blocks based on i_size. This is no longer accurate, so fix things up to take actual allocation into account. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
This commit is contained in:
@@ -138,4 +138,11 @@ int ocfs2_aio_write(struct file *file, struct kiocb *req, struct iocb *iocb);
|
||||
|
||||
void ocfs2_set_inode_flags(struct inode *inode);
|
||||
|
||||
static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode)
|
||||
{
|
||||
int c_to_s_bits = OCFS2_SB(inode->i_sb)->s_clustersize_bits - 9;
|
||||
|
||||
return (blkcnt_t)(OCFS2_I(inode)->ip_clusters << c_to_s_bits);
|
||||
}
|
||||
|
||||
#endif /* OCFS2_INODE_H */
|
||||
|
Reference in New Issue
Block a user