diff options
author | 2010-09-03 12:19:33 +1000 | |
---|---|---|
committer | 2010-09-03 12:19:33 +1000 | |
commit | 72656c46f50b8dfe50e15793692982e636e3df20 (patch) | |
tree | 8841c80c9cf5873c915a821e98f3ae09746ec9d8 /lib/dynamic_debug.c | |
parent | xfs: improve buffer cache hash scalability (diff) | |
download | linux-dev-72656c46f50b8dfe50e15793692982e636e3df20.tar.xz linux-dev-72656c46f50b8dfe50e15793692982e636e3df20.zip |
xfs: prevent 32bit overflow in space reservation
If we attempt to preallocate more than 2^32 blocks of space in a
single syscall, the transaction block reservation will overflow
leading to a hangs in the superblock block accounting code. This
is trivially reproduced with xfs_io. Fix the problem by capping the
allocation reservation to the maximum number of blocks a single
xfs_bmapi() call can allocate (2^21 blocks).
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'lib/dynamic_debug.c')
0 files changed, 0 insertions, 0 deletions