Whamcloud - gitweb
b=21587 don't clean up echo_client is refcount is not 0
authorJohann Lombardi <johann@sun.com>
Wed, 20 Oct 2010 17:46:23 +0000 (19:46 +0200)
committerJohann Lombardi <johann.lombardi@oracle.com>
Wed, 20 Oct 2010 17:46:23 +0000 (19:46 +0200)
i=adilger

lustre/ChangeLog
lustre/obdecho/echo_client.c

index 54b6371..3299f4c 100644 (file)
@@ -118,6 +118,10 @@ Severity   : normal
 Bugzilla   : 22107
 Description: pin object's inode in memory to avoid certain timeouts
 
+Severity   : normal
+Bugzilla   : 21745
+Description: fix LBUG when obdfilter-survey is interrupted.
+
 -------------------------------------------------------------------------------
 
 2010-07-31 Oracle, Inc.
index 06c2bd5..227c77a 100644 (file)
@@ -1411,7 +1411,8 @@ static int echo_client_cleanup(struct obd_device *obddev)
                 el = ec->ec_objects.next;
                 eco = list_entry(el, struct ec_object, eco_obj_chain);
 
-                LASSERT(eco->eco_refcount == 0);
+                if (eco->eco_refcount > 0)
+                        RETURN(-EBUSY);
                 eco->eco_refcount = 1;
                 eco->eco_deleted = 1;
                 echo_put_object(eco);