Hi cephers,

It seems that explicit omap insertions are not supported by EC pools (errno 
EOPNOTSUPP):
  $ rados -p <ec_pool> setomapval 'dummy_obj' 'test_key' 'test_value'
  error setting omap value cdvr_ec/dummy/test: (95) Operation not supported

When trying the same with replicated pools, the above command succeeded. 
Besides, storing xattrs on omap does work even for EC pools. Having a look at 
code, it seems that pg_pool_t struct (osd_types.h) "supports_omap()" returns 
false on EC pools.

Does anyone know:

-          Why omap storage is not supported in EC pools? Is there any design 
limitation?

-          How is then storage of xattrs in omap supported by EC pools?

-          Is massive (thousands of keys) omap storage through xattrs 
(bypassing FS storage) efficient?

I'll try to find how libradosfs guys manage to circumvent this limitation and 
store metadata in EC pools (perhaps relying on replicated pools for omaps).

Thanks a lot!



_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to