Description: Tuning the MDC DLM LRU size to zero triggers client LASSERT
Details : llu_lookup_finish_locks() tries to set lock data on a lock
after it has been released, only do this for referenced locks.
Tested by bogl.
b=7201 (b=7350)
r=green
Details : sysio_path_walk() would incorrectly pass the open intent to
intermediate path components.
+Severity : minor
+Frequency : rare (liblustre only with non-standard tuning)
+Bugzilla : 7201 (7350)
+Description: Tuning the MDC DLM LRU size to zero triggers client LASSERT
+Details : llu_lookup_finish_locks() tries to set lock data on a lock
+ after it has been released, only do this for referenced locks
+
------------------------------------------------------------------------------
08-26-2005 Cluster File Systems, Inc. <info@clusterfs.com>
void llu_lookup_finish_locks(struct lookup_intent *it, struct pnode *pnode)
{
+ struct inode *inode;
LASSERT(it);
LASSERT(pnode);
- if (it && pnode->p_base->pb_ino != NULL) {
- struct inode *inode = pnode->p_base->pb_ino;
+ inode = pnode->p_base->pb_ino;
+ if (it->d.lustre.it_lock_mode && inode != NULL) {
CDEBUG(D_DLMTRACE, "setting l_data to inode %p (%llu/%lu)\n",
inode, (long long)llu_i2stat(inode)->st_ino,
llu_i2info(inode)->lli_st_generation);