Whamcloud - gitweb
LU-10421 echo: use echo layer when finding stripe object 38/31338/3
authorJohn L. Hammond <john.hammond@intel.com>
Fri, 16 Feb 2018 18:55:05 +0000 (12:55 -0600)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 6 Mar 2018 19:14:26 +0000 (19:14 +0000)
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 <john.hammond@intel.com>
Change-Id: Ibb396ae64b6d542c64697336d227e06163a0bb39
Reviewed-on: https://review.whamcloud.com/31338
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
lustre/obdecho/echo_client.c

index ae63296..081a339 100644 (file)
@@ -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",