[Linux-cluster] umount failed - device is busy

Herta Van den Eynde herta.vandeneynde at cc.kuleuven.be
Tue Oct 11 15:48:29 UTC 2005


Lon Hohberger wrote:
> On Mon, 2005-10-10 at 23:22 +0200, Herta Van den Eynde wrote:
>  
> 
>>>Odd.  Well, "umount -f" actually doesn't do what most people think it
>>>does.
> 
> 
>>FWIIW, I don't think the force unmount works.  True, lsof/fuser don't 
>>report processes against the filesystem, but "df" and "mount" show that 
>>  it's still there, and I can write to and read from it after I try a 
>>"umount -f".
> 
> 
> (/me waves his hand and says, "This is not the force unmount you are
> looking for...")
> 
> * "umount -f" only works for NFS-mounted file systems, and only then in
> certain cases.  If there is pending I/O (e.g. processes in disk wait),
> it will not work (I may be wrong about this one, but I think this is the
> case).  In any case, it does not currently do anything for local file
> systems like ext3, jfs, reiserfs, xfs, etc...  If there are open
> references on any local file system, the umount fails with -EBUSY,
> regardless of whether or not "umount -f" was used.
> 
> This means, if there is a process, say a bash shell, running with CWD in
> a local file system's mount point, running "umount -f" on that mount
> point will fail the same as running "umount" without the "-f" flag.
> 
> 
> * The "force unmount" option in Cluster Manager, by contrast, attempts
> to clear references on a locally mounted file systems by killing
> processes using those file systems.  Put more clearly: it attempts to do
> what most people think "umount -f" does (or should do) in a general way.
> So, back to our example:
> 
> That bash shell is sitting in the mountpoint.  We look for all processes
> using the mount point, see that bash (pid 11034) is using it, and kill
> pid 11034 with signal 9 (SIGKILL).  Bash certainly no longer has a
> reference on our file system ;)
> 
> Now, there are no more processes using the mount point, so we issue
> "umount"...  which should work.  However, this is not working in your
> case.  There are a couple of things which come to mind which might cause
> this:
> 
> * nfsd holding a reference (which is why I asked you to stop nfs;
> "exportfs -ua" should work too).
> 
> * another mounted file system below the mount point (e.g. trying to
> umount /a while another file system is mounted on /a/b).
> 
> -- Lon
Thanks for all this info, Lon.  I really appreciate it.

Bit of extra information:  the system that was running the services got 
STONITHed by the other cluster member shortly before midnight.
The services all failed over nicely, but the situation remains:  if I 
try to stop or relocate a service, I get a "device is busy".
I suppose that rules out an intermittent issue.

There's no mounts below mounts.

Kind regards,

Herta

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm




More information about the Linux-cluster mailing list