Fail to read object after restore a vdi from cluster snapshot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
sheepdog |
New
|
Undecided
|
Ruoyu |
Bug Description
This are the steps to reproduce the problem:
dog node list
Id Host:Port V-Nodes Zone
0 192.168.10.4:7000 126 67807424
1 192.168.10.5:7000 129 84584640
2 192.168.10.6:7000 129 101361856
3 192.168.10.7:7000 129 118139072
qemu-img convert -f qcow2 test.qcow2 sheepdog:test
qemu-img convert -f qcow2 /root/test.qcow2 sheepdog:test
qemu-img convert -f qcow2 /root/test.qcow2 sheepdog:test2
dog vdi snapshot test
dog vdi snapshot test2
dog cluster snapshot save first cluster_snapshots
100.0 % [===] 434 / 434
dog vdi delete -s 1 test
dog vdi delete -s 1 test2
(turned on guest 'test' and wrote 100M of data, turned off the guest)
dog vdi snapshot test
dog vdi snapshot test2
dog cluster snapshot save second cluster_snapshots
100.0 % [===] 460 / 460
dog vdi delete -s 2 test
dog vdi delete -s 2 test2
(turned on guest 'test' and wrote 100M of data, turned off the guest)
dog vdi snapshot test
dog vdi snapshot test2
dog cluster snapshot save third cluster_snapshots
100.0 % [===] 484 / 484
(It's not necessary to format the cluster but I do it to simulate a new cluster)
dog cluster format -c 2
__
()'`;
/\|`
/ | Caution! The cluster is not empty.
(/_)_|_ Are you sure you want to continue? [yes/no]: yes
using backend plain store
dog cluster snapshot list cluster_snapshots
Index Tag Snapshot Time
1 first Tue Sep 9 11:50:42 2014
2 secondTue Sep 9 11:58:01 2014
3 third Tue Sep 9 12:00:31 2014
(Notice I import 1 vdi of 2, and it prints the error)
dog cluster snapshot load third cluster_snapshots test
using backend plain store
100.0 % [===] 263 / 263
dog vdi list
Name Id Size Used Shared Creation time VDI id Copies Tag
Failed to read object 807c2b2500000000 No object found
Failed to read inode header
Failed to read object 807c2b2600000000 No object found
Failed to read inode header
s test 3 5.0 GB 168 MB 880 MB 2014-09-09 11:57 7c2b27 2
test 0 5.0 GB 0.0 MB 1.0 GB 2014-09-09 12:02 7c2b28 2
(Now I import the whole snaphost: 2 vdi, and it doesn't print the error)
dog cluster snapshot load third cluster_snapshots
__
()'`;
/\|`
/ | Caution! The cluster is not empty.
(/_)_|_ Are you sure you want to continue? [yes/no]: yes
using backend plain store
100.0 % [===] 484 / 484
dog vdi list
Name Id Size Used Shared Creation time VDI id Copies Tag
s test 3 5.0 GB 168 MB 880 MB 2014-09-09 11:57 7c2b27 2
test 0 5.0 GB 0.0 MB 1.0 GB 2014-09-09 12:06 7c2b28 2
s test2 3 5.0 GB 0.0 MB 864 MB 2014-09-09 11:57 fd3817 2
test2 0 5.0 GB 0.0 MB 864 MB 2014-09-09 12:06 fd3818 2
Last: I never used vdi 'test2' but I've been taking and removing snapshot every time.
Sheepdog daemon version 0.8.0_331_gecc533e
The problem is fixed in current master branch.