On Wed, Apr 22, 2015 at 1:02 PM, Wido den Hollander <wido@xxxxxxxx> wrote: > On 04/22/2015 12:07 PM, Florian Haas wrote: >> Hi everyone, >> >> I don't think this has been posted to this list before, so just >> writing it up so it ends up in the archives. >> >> tl;dr: Using RBD storage pools with libvirt is currently broken on >> Ubuntu trusty (LTS), and any other platform using libvirt 1.2.2. >> >> In libvirt 1.2.2, the rbd_create3 function is invoked, on volume >> creation from a pool, with the stripe_count and stripe_unit parameters >> reversed. So if you have an rbd storage pool, and you do "virsh >> vol-create-as" or something equivalent, then instead of a stripe count >> of one and a stripe size of 4MB, you get 4194304 1-byte stripes. >> Needless to say, this renders the volume excruciatingly slow to the >> point of not being usable. Volume deletion also takes on the order of >> minutes even for an empty volume. >> >> This issue was introduced in libvirt 1.2.1, and was fixed for 1.2.4, >> but Ubuntu 14.04 LTS (which is on 1.2.2) evidently never backported >> that fix. >> > > Oops... Did I do this? I think so. I messed up with the arguments. > > My apologies! No need to apologize; after all it *is* fixed upstream, and AFAICT no other major distros are affected. It's just that Ubuntu really need to backport that one-line fix if they want libvirt RBD pool functionality to work in their current LTS. I'm not entirely sure, though, why virStorageBackendRBDCreateImage() enables striping unconditionally; could you explain the reasoning behind that? Cheers, Florian _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com