Commit 7da42db8 authored by John L. Hammond's avatar John L. Hammond Committed by Greg Kroah-Hartman
Browse files

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: default avatarJohn 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: default avatarwangdi <di.wang@intel.com>
Reviewed-by: default avatarAlex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
Signed-off-by: default avatarJames Simmons <jsimmons@infradead.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 542c45ac
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -1618,13 +1618,14 @@ 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;

		if (lsm) {
			/* refill the right parent fid */
			for (i = 0; i < lsm->lsm_md_stripe_count; i++) {
				struct lmv_oinfo *oinfo;
@@ -1636,9 +1637,9 @@ lmv_locate_mds(struct lmv_obd *lmv, struct md_op_data *op_data,
				}
			}

		/* Hmm, can not find the stripe by mdt_index(op_mds) */
			if (i == lsm->lsm_md_stripe_count)
			tgt = ERR_PTR(-EINVAL);
				*fid = lsm->lsm_md_oinfo[0].lmo_fid;
		}

		return tgt;
	}