xfs: fix potential infinite loop in xfs_iomap_prealloc_size()
If freesp == 0, we could end up in an infinite loop while squashing the preallocation. Break the loop when we've killed the prealloc entirely. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
parent
6dbe51c251
commit
e78c420bfc
1 changed files with 1 additions and 1 deletions
|
@ -413,7 +413,7 @@ xfs_iomap_prealloc_size(
|
||||||
* have a large file on a small filesystem and the above
|
* have a large file on a small filesystem and the above
|
||||||
* lowspace thresholds are smaller than MAXEXTLEN.
|
* lowspace thresholds are smaller than MAXEXTLEN.
|
||||||
*/
|
*/
|
||||||
while (alloc_blocks >= freesp)
|
while (alloc_blocks && alloc_blocks >= freesp)
|
||||||
alloc_blocks >>= 4;
|
alloc_blocks >>= 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue