blob: fbb99c1a1d66f516bfdd100febd1ebe9cd4294a7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
Prevent qemu-img resize from causing "Active L1 table too large"
This commit prevents qemu from overallocating if qcow2 image is too big (whatever that means): https://lists.gnu.org/archive/html/qemu-devel/2014-07/msg01481.html
However, `qemu-img resize` isn't protected by the same code and allows to go beyond that.
root@nwkr-laptop ~virtkick/hdd # qemu-img resize 33_test_609dffde-eb51-4b75-918d-b814f1bcb526.qcow2 +100000T
Image resized.
Which then causes "Active L1 table too large" error that cannot be reversed.
root@nwkr-laptop ~virtkick/hdd # qemu-img info 33_test_609dffde-eb51-4b75-918d-b814f1bcb526.qcow2
qemu-img: Could not open '33_test_609dffde-eb51-4b75-918d-b814f1bcb526.qcow2': Active L1 table too large
root@nwkr-laptop ~virtkick/hdd # qemu-img resize 33_test_609dffde-eb51-4b75-918d-b814f1bcb526.qcow2 -100000T
qemu-img: Could not open '33_test_609dffde-eb51-4b75-918d-b814f1bcb526.qcow2': Active L1 table too large
I originally faces this bug when I passed wrong parameters to qemu-img in a programatic way which caused an image to go corrupt. It's good to protect user's images from being resized too much.
|