mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
minixfs: fix block limit check
On minix2 and minix3 usually max_size is 7fffffff and the check in question prohibits creation of last block spanning right before 7fffffff, due to downward rounding during the division. Fix it by using multiplication instead. [akpm@linux-foundation.org: fix up code layout, use local `sb'] Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8dccaf0607
commit
6ed6a722f9
@ -32,7 +32,8 @@ static int block_to_path(struct inode * inode, long block, int offsets[DEPTH])
|
||||
if (block < 0) {
|
||||
printk("MINIX-fs: block_to_path: block %ld < 0 on dev %s\n",
|
||||
block, bdevname(sb->s_bdev, b));
|
||||
} else if (block >= (minix_sb(inode->i_sb)->s_max_size/sb->s_blocksize)) {
|
||||
} else if ((u64)block * (u64)sb->s_blocksize >=
|
||||
minix_sb(sb)->s_max_size) {
|
||||
if (printk_ratelimit())
|
||||
printk("MINIX-fs: block_to_path: "
|
||||
"block %ld too big on dev %s\n",
|
||||
|
Loading…
Reference in New Issue
Block a user