From dc6be389ddd322fa2368f8d594cbdecc28b42320 Mon Sep 17 00:00:00 2001 From: lsy Date: Fri, 13 Oct 2006 06:52:20 +0000 Subject: [PATCH] once do_capa_get failed, it will return errno instead of NULL, add check for it. --- lustre/mdd/mdd_lov.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lustre/mdd/mdd_lov.c b/lustre/mdd/mdd_lov.c index 6bbae1c..7b90c87 100644 --- a/lustre/mdd/mdd_lov.c +++ b/lustre/mdd/mdd_lov.c @@ -509,6 +509,8 @@ int mdd_lov_create(const struct lu_env *env, struct mdd_device *mdd, oinfo->oi_md = lsm; oinfo->oi_capa = next->do_ops->do_capa_get(env, next, NULL, CAPA_OPC_MDS_DEFAULT); + if (IS_ERR(oinfo->oi_capa)) + oinfo->oi_capa = NULL; rc = obd_setattr(lov_exp, oinfo, oti); capa_put(oinfo->oi_capa); @@ -581,6 +583,8 @@ int mdd_lov_setattr_async(const struct lu_env *env, struct mdd_object *obj, RETURN(rc); oc = next->do_ops->do_capa_get(env, next, NULL, CAPA_OPC_MDS_DEFAULT); + if (IS_ERR(oc)) + oc = NULL; rc = mds_osc_setattr_async(obd, tmp_la->la_uid, tmp_la->la_gid, lmm, lmm_size, NULL, seq, oid, oc); capa_put(oc); -- 1.8.3.1