Hi, Now librbd is the only user for set_alloc_hint op. void AioWrite::add_write_ops(librados::ObjectWriteOperation &wr) { wr.set_alloc_hint(m_ictx->get_object_size(), m_ictx->get_object_size()); wr.write(m_object_off, m_write_data); } According above, the arguments for set_alloc_hint both are the size of a object. It looks like there exist a misleading of the argument name called "expected_write_size". And I would like to think "expected_write_size" as the write size for most write ops. KeyValueStore in recent commits use "expected_write_size" as strip size, unfortunately librbd will issue set_alloc_hint(4MB, 4MB) but each write op's size is serval KB. I'm not sure "expected_object_size" and "expected_write_size" for set_alloc_hint are properly used by librbd or maybe I misunderdstand the op. As for FileStore, if use XFS, set_alloc_hint will let FS allocate in multiples of the hint size for this file. And some users may use 16MB as the order of librbd image(like me :-| ), so it seemed a little space ineffective. I pushed a fix for keyvaluestore to avoid using set_alloc_op(https://github.com/ceph/ceph/pull/1967). -- Best Regards, Wheat -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html