Whamcloud - gitweb
Branch b1_4
authoradilger <adilger>
Fri, 9 Sep 2005 16:15:48 +0000 (16:15 +0000)
committeradilger <adilger>
Fri, 9 Sep 2005 16:15:48 +0000 (16:15 +0000)
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

lustre/ChangeLog
lustre/liblustre/namei.c

index fec480a..6a4d9c4 100644 (file)
@@ -43,6 +43,13 @@ Description: liblustre could not open files whose last component is a symlink
 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>
index ffcf873..e173996 100644 (file)
@@ -104,11 +104,12 @@ void unhook_stale_inode(struct pnode *pno)
 
 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);