It should use mdt_remote_object to check remote object in
mdt_swap_layouts, instead of mdt_object_exists < 0.
Send swap layout req to the right MDT.
Signed-off-by: wang di <di.wang@intel.com>
Change-Id: Ia24635e16cb67e5683abc9797ec6c9e61f648c62
Reviewed-on: http://review.whamcloud.com/5332
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
}
case LL_IOC_HSM_STATE_GET:
case LL_IOC_HSM_STATE_SET:
- case LL_IOC_HSM_ACTION: {
+ case LL_IOC_HSM_ACTION:
+ case LL_IOC_LOV_SWAP_LAYOUTS: {
struct md_op_data *op_data = karg;
struct lmv_tgt_desc *tgt;
if (IS_ERR(o))
GOTO(out, rc = PTR_ERR(o));
- if (mdt_object_exists(o) < 0) /* remote object */
+ if (mdt_object_remote(o) || !mdt_object_exists(o)) /* remote object */
GOTO(put, rc = -ENOENT);
rc = lu_fid_cmp(&info->mti_body->fid1, &info->mti_body->fid2);