From: Neil Brown <neilb@cse.unsw.edu.au>

On  June 20, felipe_alfaro@linuxmail.org wrote:
> Hi!
> 
> Starting with 2.5.72-bk, I've been hit again by the old "umount:
> /volume: device is busy" bug when trying to unmount an ext3 volume which
> once was being exported via NFS.
> 
> To reproduce the problem, I compiled 2.5.72-bk3 with the configuration
> file attached an plugged it on a RHL9 box. To reproduce the bug, I
> exported my "/data" volume:

Thanks for the report.
It took me a while to find because I am using a newer nfs-utils which
exports and unexports things differently, and there are lots of extra
bugs that were affecting it :-(




 net/sunrpc/cache.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN net/sunrpc/cache.c~knfsd-umount-fix net/sunrpc/cache.c
--- 25/net/sunrpc/cache.c~knfsd-umount-fix	2003-06-23 22:23:07.000000000 -0700
+++ 25-akpm/net/sunrpc/cache.c	2003-06-23 22:23:07.000000000 -0700
@@ -319,8 +319,8 @@ int cache_clean(void)
 			if (test_and_clear_bit(CACHE_PENDING, &ch->flags))
 				queue_loose(current_detail, ch);
 
-			if (atomic_read(&ch->refcnt))
-				continue;
+			if (!atomic_read(&ch->refcnt))
+				break;
 		}
 		if (ch) {
 			cache_get(ch);

_