From 0142862cb59ff09141bcaa89a474a27f5a45e529 Mon Sep 17 00:00:00 2001 From: Johann Lombardi Date: Wed, 20 Oct 2010 19:46:23 +0200 Subject: [PATCH] b=21587 don't clean up echo_client is refcount is not 0 i=adilger --- lustre/ChangeLog | 4 ++++ lustre/obdecho/echo_client.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 54b6371..3299f4c 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -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. diff --git a/lustre/obdecho/echo_client.c b/lustre/obdecho/echo_client.c index 06c2bd5..227c77a 100644 --- a/lustre/obdecho/echo_client.c +++ b/lustre/obdecho/echo_client.c @@ -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); -- 1.8.3.1