From: huanghua Date: Tue, 25 Sep 2007 02:37:34 +0000 (+0000) Subject: Branch b1_6 X-Git-Tag: v1_8_0_110~1178 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=60a86bf0e5c7b224d5805c7686520073ef37f635;p=fs%2Flustre-release.git Branch b1_6 b=13653 b=11401 i=adilger i=green dir entry may have been removed before statahead starts. --- diff --git a/lustre/llite/statahead.c b/lustre/llite/statahead.c index 1b41f97..e1e1892 100644 --- a/lustre/llite/statahead.c +++ b/lustre/llite/statahead.c @@ -197,7 +197,7 @@ static int ll_statahead_interpret(struct obd_export *exp, CDEBUG(D_READA, "interpret statahead %.*s rc %d\n", dentry->d_name.len, dentry->d_name.name, rc); - if (rc) + if (rc || dir == NULL) GOTO(out, rc); if (dentry->d_inode == NULL) { @@ -210,7 +210,11 @@ static int ll_statahead_interpret(struct obd_export *exp, rc = lookup_it_finish(req, DLM_REPLY_REC_OFF, it, &icbd); if (!rc) { - LASSERT(dentry->d_inode); + /* + * Here dentry->d_inode might be NULL, + * because the entry may have been removed before + * we start doing stat ahead. + */ if (dentry != save) dput(save); ll_lookup_finish_locks(it, dentry);