From: ericm Date: Wed, 19 Nov 2003 11:38:36 +0000 (+0000) Subject: liblustre: release it lock a bit later, abvoid reference to null lock, X-Git-Tag: v1_7_0_51~2^7~214 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=8238c3d1da2cdf7f50b66ae14f64c254ab92c76a;p=fs%2Flustre-release.git liblustre: release it lock a bit later, abvoid reference to null lock, should be the reason of LASSERT in simul test. --- diff --git a/lustre/liblustre/namei.c b/lustre/liblustre/namei.c index cf2d827..ad597d0 100644 --- a/lustre/liblustre/namei.c +++ b/lustre/liblustre/namei.c @@ -174,10 +174,6 @@ void llu_lookup_finish_locks(struct lookup_intent *it, struct pnode *pnode) LASSERT(it); LASSERT(pnode); - /* drop IT_LOOKUP locks */ - if (it->it_op == IT_LOOKUP) - ll_intent_release(it); - if (it && pnode->p_base->pb_ino != NULL) { struct inode *inode = pnode->p_base->pb_ino; CDEBUG(D_DLMTRACE, "setting l_data to inode %p (%lu/%lu)\n", @@ -185,6 +181,11 @@ void llu_lookup_finish_locks(struct lookup_intent *it, struct pnode *pnode) llu_i2info(inode)->lli_st_generation); mdc_set_lock_data(&it->d.lustre.it_lock_handle, inode); } + + /* drop IT_LOOKUP locks */ + if (it->it_op == IT_LOOKUP) + ll_intent_release(it); + } static inline void ll_invalidate_inode_pages(struct inode * inode)