On 04/22/2012 06:34 AM, Sage Weil wrote:
On Sat, 21 Apr 2012, Wido den Hollander wrote:Hi, I was just playing with my libvirt driver and I noticed a stall. On one host I had running: for i in {0..8192}; do rbd create --size 64 image-$i; echo "created image-$i"; done And on the other host I was running a pool-refresh in libvirt. As I was tailing the libvirt log I noticed that it had stalled, so I checked my other terminal and saw that the creation of new images had also stalled. This situation persisted for about ~20 seconds and then everything started to continue. At the moment of the stall libvirt was calling rbd_list and was not doing any rbd_stat yet. I'm trying to reproduce it here, but I wonder if there is a logical explanation for this situation? I'm running 0.44 on my cluster and 0.45 on the client btw.Nothing comes to mind.. unless libvirt is doing something silly on pool-refresh and actually modifies each image header (which would make users stop and refresh).
No, it doesn't. This is the libvirt code: https://github.com/wido/libvirt/blob/rbd/src/storage/storage_backend_rbd.c#L312
If you can reproduce this with some logs (ideally the stalling client), I'd love to see what's going on.
I think a "rbd ls" on one host and "rbd create" on another host should give the same result.
I'll try with that and see what comes out of it. Wido
sage
-- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
