qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] qemu-img:the sheepdog snapshot vdi's lock will not be relea


From: 徐小龙
Subject: [Qemu-devel] qemu-img:the sheepdog snapshot vdi's lock will not be released when use qemu-img to create a snapshot vdi
Date: Mon, 22 Dec 2014 17:41:33 +0800

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.

address@hidden:~/qemu# ./qemu-img create sheepdog:test 1G
Formatting 'sheepdog:test', fmt=raw size=1073741824

address@hidden:~/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  

address@hidden:~/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.

address@hidden:~/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.

address@hidden:~/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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]