]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: If objectmap tell object exist, don't send alloc_hint w/ write command. 5025/head
authorJianpeng Ma <jianpeng.ma@intel.com>
Fri, 19 Jun 2015 06:50:26 +0000 (14:50 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Fri, 19 Jun 2015 06:50:26 +0000 (14:50 +0800)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
src/librbd/AioRequest.cc

index 5a8a81949488f4c55fb914091461d81fe17f2ec6..0bfadc841b5a0e9a396ae6b9a4550ce2ef4122ab 100644 (file)
@@ -506,7 +506,7 @@ namespace librbd {
   }
 
   void AioWrite::add_write_ops(librados::ObjectWriteOperation *wr) {
-    if (m_ictx->enable_alloc_hint)
+    if (m_ictx->enable_alloc_hint && !m_ictx->object_map.object_may_exist(m_object_no))
       wr->set_alloc_hint(m_ictx->get_object_size(), m_ictx->get_object_size());
     wr->write(m_object_off, m_write_data);
     wr->set_op_flags2(m_op_flags);