It appears that umount -f only bypasses the open files check, allowing
you to unmount a volume with open files. The kernel still tries to
flush dirty buffers to the disk before unmounting. This can be a
serious problem in the case of an unreachable nfs server or a bad disk
since the umount can block indefinitely while the kernel tries to flush
buffers that can't be flushed. This also causes your syslog to fill up
very quickly with error messages.
I ran into this with a badly formatted cdrw disk I had mounted and all
the writes were failing. There was no way to force the kernel to
abandon the mount and eject the disc. The umount process couldn't even
be killed with kill -9. After maybe 15 minutes the kernel finally had
tried and failed to flush all the buffers and completed the unmount,
allowing me to eject the disc, but my syslog had grown to 50 MB from all
the errors.
I think that the force option should not bother flushing dirty buffers,
or maybe a new --i-really-mean-force-and-damn-the-dirty-buffers option
is needed.
Please CC any thoughts/comments to me as I am not subscribed.
BTW, if anyone knows of somewhere you can download the ML archives,
preferably in mbox format, I would greatly appreciate it.