Re: umount -f implementation

From: Kirk McKusick <mckusick_at_mckusick.com>
Date: Tue, 30 Jun 2009 14:58:39 -0700
Just for the history books, there originally were two forms of
forced unmounts. The gentle force (-f) and the brute force (-F)
unmount. The -f unmount flushes out all the dirty buffers so that
when the unmount completes no data is lost and the filesystem is
in a consistent state.  The -F unmount invalidates and discards all
the dirty buffers without attempting to do any I/O on them. The
result is lost data and a possibly inconsistent filesystem. But
it will get the job done even if the disk has died or the server
has gone away.

For reasons that I never tracked down, the -F unmount option was
never incorporated into FreeBSD when they did the merge from
4.4BSD-Lite II, so that functionality never made it into the system.
It is actually much easier to do than unmount -f since you just
walk through and set B_INVAL and B_ERROR on all the dirty buffers
for that filesystem. The problem with unmount -f is that it will
hang if the server is gone since it will insist on pushing back all
the dirty buffers.

	Kirk McKusick
Received on Tue Jun 30 2009 - 20:37:42 UTC

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