diff options
author | Dave Chinner <dchinner@redhat.com> | 2010-09-03 12:19:33 +1000 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2010-09-03 12:19:33 +1000 |
commit | 72656c46f50b8dfe50e15793692982e636e3df20 (patch) | |
tree | 8841c80c9cf5873c915a821e98f3ae09746ec9d8 /fs/xfs/xfs_filestream.h | |
parent | 9bc08a45fb117c696e4940cfa1208cb1cc7a2f25 (diff) | |
download | blackbird-op-linux-72656c46f50b8dfe50e15793692982e636e3df20.tar.gz blackbird-op-linux-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 'fs/xfs/xfs_filestream.h')
0 files changed, 0 insertions, 0 deletions