+template <typename I>
+void RenameRequest<I>::send_read_directory() {
+ I &image_ctx = this->m_image_ctx;
+ CephContext *cct = image_ctx.cct;
+ ldout(cct, 5) << this << " " << __func__ << dendl;
+ m_state = STATE_READ_DIRECTORY;
+
+ librados::ObjectReadOperation op;
+ cls_client::dir_get_name_start(&op, image_ctx.id);
+
+ auto comp = this->create_callback_completion();
+ int r = image_ctx.md_ctx.aio_operate(RBD_DIRECTORY, comp, &op,
+ &m_source_name_bl);
+ ceph_assert(r == 0);
+ comp->release();
+}
+