Hi,
I want to create a block image using the rbd cli and followng the rule:
stripe-unit * stripe-count = 2^order,
Take for example:
rbd create --pool rbd --size 20480 --order 21 --image-format 2 --stripe-unit
1048576 --stripe-count 2 image1
But when I try to map to a block device then raise a message: rbd: add failed:
(22) Invalid argument
check the linux kernel(Linux nodeclient 3.11.0-12-generic #19-Ubuntu SMP Wed
Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux) log
dmesg | grep rbd
rbd: image image1: unsupported stripe unit (got 1048576 want 2097152)
I guess the rbd kernel does not support the 'fancy striping', after I read the
kernel code rbd.c
----------------------------------------------------------------------------------------------------------------------
if (stripe_unit != obj_size) {
rbd_warn(rbd_dev, "unsupported stripe unit "
"(got %llu want %llu)",
stripe_unit, obj_size);
return -EINVAL;
}
stripe_count = ceph_decode_64(&p);
if (stripe_count != 1) {
rbd_warn(rbd_dev, "unsupported stripe count "
"(got %llu want 1)", stripe_count);
return -EINVAL;
}
-----------------------------------------------------------------------------------------------------------------
So how to enable/test the 'fancy striping' features, please help!
Best Regards,
Jian LI
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com