From 426b67272b9fc23a825bf9b22871dd2297e5cad5 Mon Sep 17 00:00:00 2001 From: wangdi Date: Fri, 20 Oct 2006 09:14:01 +0000 Subject: [PATCH] Branch: b_new_cmd only reset ma_lmm_size when we could get MD, otherwise this ma_md_size > 0 might fail if we use this manytimes in a mdd api --- lustre/mdd/mdd_object.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lustre/mdd/mdd_object.c b/lustre/mdd/mdd_object.c index 7b5056e..d85df8f 100644 --- a/lustre/mdd/mdd_object.c +++ b/lustre/mdd/mdd_object.c @@ -276,17 +276,19 @@ int mdd_iattr_get(const struct lu_env *env, struct mdd_object *mdd_obj, static int __mdd_lmm_get(const struct lu_env *env, struct mdd_object *mdd_obj, struct md_attr *ma) { - int rc; + int rc, lmm_size; ENTRY; if (ma->ma_valid & MA_LOV) RETURN(0); LASSERT(ma->ma_lmm != NULL && ma->ma_lmm_size > 0); - rc = mdd_get_md(env, mdd_obj, ma->ma_lmm, &ma->ma_lmm_size, + lmm_size = ma->ma_lmm_size; + rc = mdd_get_md(env, mdd_obj, ma->ma_lmm, &lmm_size, MDS_LOV_MD_NAME); if (rc > 0) { ma->ma_valid |= MA_LOV; + ma->ma_lmm_size = lmm_size; rc = 0; } RETURN(rc); -- 1.8.3.1