declare reply_data at max possible offset - this ensures
enough credits reserved.
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: I08466452e1e95b803f316abae777a8c8f4a8626e
Reviewed-on: http://review.whamcloud.com/17086
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
if (rc)
return rc;
+ if (tgt_is_multimodrpcs_client(tsi->tsi_exp)) {
+ tti->tti_off = atomic_read(&tgt->lut_num_clients) * 8
+ * sizeof(struct lsd_reply_data);
+ tti->tti_buf.lb_buf = NULL;
+ tti->tti_buf.lb_len = sizeof(struct lsd_reply_data);
+ dto = dt_object_locate(tgt->lut_reply_data, th->th_dev);
+ rc = dt_declare_record_write(env, dto, &tti->tti_buf,
+ tti->tti_off, th);
+ if (rc)
+ return rc;
+ }
+
if (tsi->tsi_vbr_obj != NULL &&
!lu_object_remote(&tsi->tsi_vbr_obj->do_lu)) {
dto = dt_object_locate(tsi->tsi_vbr_obj, th->th_dev);