From: John L. Hammond Date: Fri, 16 Feb 2018 18:55:05 +0000 (-0600) Subject: LU-10421 echo: use echo layer when finding stripe object X-Git-Tag: 2.10.59~27 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F38%2F31338%2F3;p=fs%2Flustre-release.git LU-10421 echo: use echo layer when finding stripe object In echo_md_dir_stripe_choose(), find the stripe object using the echo device rather than the down layer (mdd) device. mdd objects are not equipped to be top layer objects and should not be found in this way. Test-Parameters: trivial testlist=mds-survey Signed-off-by: John L. Hammond Change-Id: Ibb396ae64b6d542c64697336d227e06163a0bb39 Reviewed-on: https://review.whamcloud.com/31338 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Alex Zhuravlev Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin Reviewed-by: Mike Pershin --- diff --git a/lustre/obdecho/echo_client.c b/lustre/obdecho/echo_client.c index ae63296..081a339 100644 --- a/lustre/obdecho/echo_client.c +++ b/lustre/obdecho/echo_client.c @@ -1660,7 +1660,8 @@ echo_md_dir_stripe_choose(const struct lu_env *env, struct echo_device *ed, LASSERT(idx < le32_to_cpu(lmv->lmv_stripe_count)); fid_le_to_cpu(&stripe_fid, &lmv->lmv_stripe_fids[idx]); - stripe_obj = lu_object_find_at(env, ld, &stripe_fid, NULL); + stripe_obj = lu_object_find_at(env, &ed->ed_cl.cd_lu_dev, &stripe_fid, + NULL); if (IS_ERR(stripe_obj)) { rc = PTR_ERR(stripe_obj); CERROR("Can not find the parent "DFID": rc = %d\n",