mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 22:21:42 +00:00
gfs2: Fix an incorrect gfs2_assert()
When updating the inode information after a change in allocation, convert the change into the same units as the inode's i_blocks count before comparing it in an assertion. Also, change the comparison so that it is still possible to set i_blocks to zero by adding -i_blocks, something that was previously only possible because of the difference in units. Signed-off-by: Tim Smith <tim.smith@citrix.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
This commit is contained in:
parent
2abbf9a4d2
commit
7c03e756b4
@ -59,8 +59,8 @@ static inline u64 gfs2_get_inode_blocks(const struct inode *inode)
|
||||
|
||||
static inline void gfs2_add_inode_blocks(struct inode *inode, s64 change)
|
||||
{
|
||||
gfs2_assert(GFS2_SB(inode), (change >= 0 || inode->i_blocks > -change));
|
||||
change *= (GFS2_SB(inode)->sd_sb.sb_bsize/GFS2_BASIC_BLOCK);
|
||||
change <<= inode->i_blkbits - GFS2_BASIC_BLOCK_SHIFT;
|
||||
gfs2_assert(GFS2_SB(inode), (change >= 0 || inode->i_blocks >= -change));
|
||||
inode->i_blocks += change;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user