On 09/03/2015 09:48 AM, Stefan Hajnoczi wrote:
On Wed, Aug 19, 2015 at 03:39:20PM +0800, Jaze Lee wrote:
Hello,
qemu-img convert -f qcow2 Trove---mysql-5.6---2015-07-16.qcow2 -O raw
rbd:openstack-00/8205d01a-874c-44c0-b114-1c03821fcc24:conf=/etc/ceph/ceph.conf
How can i specify the object size that rbd uses? I found that the
qemu-image can only use the default object size. It is defined in
block/rbd.c
#define OBJ_MAX_SIZE
<https://lxr.missinglinkelectronics.com/qemu+v2.1.0/+code=OBJ_MAX_SIZE>
(1UL << OBJ_DEFAULT_OBJ_ORDER
<https://lxr.missinglinkelectronics.com/qemu+v2.1.0/+code=OBJ_DEFAULT_OBJ_ORDER>
)
Those are remnants from before librbd existed, they aren't used in qemu
anymore.
If someone know how to specify the object size, please tell me. thanks
a lot.
By the way i do not find the define for OBJ_DEFAULT_OBJ_ORDER
<https://lxr.missinglinkelectronics.com/qemu+v2.1.0/+code=OBJ_DEFAULT_OBJ_ORDER>,
if someone knows , please tell me. Thanks a lot.
I have CCed the rbd.c maintainer for you:
$ scripts/get_maintainer.pl -f block/rbd.c
Josh Durgin <jdur...@redhat.com> (supporter:RBD)
Thanks for CCing me, I missed it before.
You can specify the rbd object size in bytes via the cluster_size
option, e.g.
qemu-img convert -f qcow2 Trove---mysql-5.6---2015-07-16.qcow2 -O raw -o
cluster_size=8388608
rbd:openstack-00/8205d01a-874c-44c0-b114-1c03821fcc24:conf=/etc/ceph/ceph.conf
The code handling this is here:
https://lxr.missinglinkelectronics.com/#qemu+v2.1.0/block/rbd.c#L318
Josh