staging: lustre: hsm: prevent migration of HSM archived files
The reference copytool cannot handle migration of HSM archive files. In the MDT migration path check for HSM attributes and fail if they are present. In the LMV layer allow creation of volatile files with any MDT index. Add a test to sanity-hsm to ensure that attempting to migrate an HSM archive file is handled safely. Signed-off-by: John L. Hammond <john.hammond@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6866 Reviewed-on: http://review.whamcloud.com/17511 Reviewed-by: wangdi <di.wang@intel.com> Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
542c45acfe
commit
7da42db835
@ -1618,27 +1618,28 @@ lmv_locate_mds(struct lmv_obd *lmv, struct md_op_data *op_data,
|
||||
* ct_restore().
|
||||
*/
|
||||
if (op_data->op_bias & MDS_CREATE_VOLATILE &&
|
||||
(int)op_data->op_mds != -1 && lsm) {
|
||||
(int)op_data->op_mds != -1) {
|
||||
int i;
|
||||
|
||||
tgt = lmv_get_target(lmv, op_data->op_mds, NULL);
|
||||
if (IS_ERR(tgt))
|
||||
return tgt;
|
||||
|
||||
/* refill the right parent fid */
|
||||
for (i = 0; i < lsm->lsm_md_stripe_count; i++) {
|
||||
struct lmv_oinfo *oinfo;
|
||||
if (lsm) {
|
||||
/* refill the right parent fid */
|
||||
for (i = 0; i < lsm->lsm_md_stripe_count; i++) {
|
||||
struct lmv_oinfo *oinfo;
|
||||
|
||||
oinfo = &lsm->lsm_md_oinfo[i];
|
||||
if (oinfo->lmo_mds == op_data->op_mds) {
|
||||
*fid = oinfo->lmo_fid;
|
||||
break;
|
||||
oinfo = &lsm->lsm_md_oinfo[i];
|
||||
if (oinfo->lmo_mds == op_data->op_mds) {
|
||||
*fid = oinfo->lmo_fid;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Hmm, can not find the stripe by mdt_index(op_mds) */
|
||||
if (i == lsm->lsm_md_stripe_count)
|
||||
tgt = ERR_PTR(-EINVAL);
|
||||
if (i == lsm->lsm_md_stripe_count)
|
||||
*fid = lsm->lsm_md_oinfo[0].lmo_fid;
|
||||
}
|
||||
|
||||
return tgt;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user