At Mon, 22 Dec 2014 17:41:33 +0800,
$B=y>.$AAz(B wrote:
> 
> [1  <text/plain; UTF-8 (7bit)>]
> hi,all,
>      when i use `qemu-img snapshot -c test-s sheepdog:test` to create a
> snapshot of sheepdog vdi,the snapshot's lock not be released.
> 
> root@hty-compute1:~/qemu# ./qemu-img create sheepdog:test 1G
> Formatting 'sheepdog:test', fmt=raw size=1073741824
> 
> root@hty-compute1:~/qemu# dog vdi list
>   Name        Id    Size    Used  Shared    Creation time   VDI id  Copies
>  Tag
>   test         0  1.0 GB  0.0 MB  0.0 MB 2014-12-22 17:10   7c2b25      3
> 
> root@hty-compute1:~/qemu# ./qemu-img snapshot -c test-s sheepdog:test
> WARNING: Image format was not specified for 'sheepdog:test' and probing
> guessed raw.
>          Automatically detecting the format is dangerous for raw images,
> write operations on block 0 will be restricted.
>          Specify the 'raw' format explicitly to remove the restrictions.
> 
> root@hty-compute1:~/qemu# dog vdi lock list
> VDI | Owner node | Tag
> s test | IPv4 ip:172.16.17.200 port:7000 test-s
> 
> when i create a snapshot ,the src vdi will be open and locked,in the
> function `sd_open` read the vdi inode info saved in the struct
> BDRVSheepdogState ,and in the function `sd_snapshot_create` the vdi inode
> information in the struct BDRVSheepdogState will point to an new vdi ,so
> when the function `sd_close` be called,the `sd_close` will try to released
> the lock of new vdi.In conclusion,the snapshot vdi will lock forever , so
> it's will be failed when i try to create a new vdi base on the snapshot.
> 
> root@hty-compute1:~/qemu# ./qemu-img create -b sheepdog:test:test-s
> sheepdog:new-vdi
> qemu-img: sheepdog:new-vdi: cannot get vdi info, VDI is already locked,
> test 0 test-s
> 
> There may be some wrong in the function`sd_snapshot_create`.but I'm not
> sure the root cause.
> 
> Thanks,
> Xiaolong Xu

Xiaolong, thanks for your report. I'll fix it ASAP.

Could you use the dog command as a walkaround?

Thanks,
Hitoshi


Reply via email to