Re: umount -f implementation

From: Attilio Rao <attilio_at_freebsd.org>
Date: Mon, 29 Jun 2009 11:56:11 +0200
2009/6/29 Rick Macklem <rmacklem_at_uoguelph.ca>:
> I just noticed that when I do the following:
> - start a large write to an NFS mounted fs
> - network partition the server (unplug a net cable)
> - do a "umount -f <mntpoint>" on the machine
>
> that it gets stuck trying to write dirty blocks to the server.
>
> I had, in the past, assumed that a "umount -f" of an NFS mount would be
> used to get rid of an NFS mount on an unresponsive server and that loss
> of "writes in progress" would be expected to happen.
>
> Does that sound correct? (In other words, an I seeing a bug or a feature?)

While that should be real in principle (immediate shutdown of the fs
operation and unmounting of the partition) it is totally impossible to
have it completely unsleeping, so it can happen that also umount -f
sleeps / delays for some times (example: vflush).
Currently, umount -f is one of the most complicated thing to handle in
our VFS because it puts as requirement that vnodes can be reclaimed in
any moment, adding complexity and possibility for races.

What's the fix for your problem?

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
Received on Mon Jun 29 2009 - 07:56:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:50 UTC