Whamcloud - gitweb
Branch b1_6
authorjohann <johann>
Wed, 30 Jul 2008 16:02:55 +0000 (16:02 +0000)
committerjohann <johann>
Wed, 30 Jul 2008 16:02:55 +0000 (16:02 +0000)
b=16496
i=bzzz
i=vitaly

fix a race between class_handle_unhash() and class_handle2object()
introduced in lustre 1.6.5 by bug 13622. use h_in instead of h_cookie
in class_handle2object().

lustre/ChangeLog
lustre/obdclass/lustre_handles.c

index 2b6c1f4..35b1389 100644 (file)
@@ -358,6 +358,12 @@ Details    : looking up an inode via iopen with the wrong generation number can
             assertion failure in iopen since the inode's dentry list contains
             both a connected and disconnected dentry.
 
+Severity   : normal
+Bugzilla   : 16496
+Description: assertion failure in ldlm_handle2lock()
+Details    : fix a race between class_handle_unhash() and class_handle2object()
+            introduced in lustre 1.6.5 by bug 13622.
+
 -------------------------------------------------------------------------------
 
 
index ee0de19..b758fba 100644 (file)
@@ -179,7 +179,7 @@ void *class_handle2object(__u64 cookie)
                         continue;
 
                 spin_lock(&h->h_lock);
-                if (likely(h->h_cookie != 0)) {
+                if (likely(h->h_in != 0)) {
                         h->h_addref(h);
                         retval = h;
                 }