Whamcloud - gitweb
LU-10421 echo: use echo layer when finding stripe object 56/31556/2
authorJohn L. Hammond <john.hammond@intel.com>
Fri, 16 Feb 2018 18:55:05 +0000 (12:55 -0600)
committerJohn L. Hammond <john.hammond@intel.com>
Thu, 12 Apr 2018 16:03:50 +0000 (16:03 +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
Lustre-change: https://review.whamcloud.com/31338
Lustre-commit: 6f60a28206b2755a9aa158d82713b73efa09e81b

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ibb396ae64b6d542c64697336d227e06163a0bb39
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: https://review.whamcloud.com/31556
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
lustre/obdecho/echo_client.c

index 1304771..1b558f7 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",