Re: buffers not syncing correctly during shutdown

From: Matthias Andree <matthias.andree_at_gmx.de>
Date: Thu, 15 Oct 2009 10:11:31 +0200
Gary Jennejohn schrieb:
> On Wed, 14 Oct 2009 12:49:54 +0200 (CEST)
> Alexander Best <alexbestms_at_math.uni-muenster.de> wrote:
> 
>> hi there,
>> 
>> to keep it short:
>> 
>> 1. mount a removable device (e.g. an usb stick) (better use -r to prevent data
>> loss)
>> 2. unplug the device (without unmounting it)
>> 3. `shutdown -r now`
>> 
>> what happens is that the usual shutdown routine gets processed until all
>> buffers are synced, but then the system stalls.
>> 
>> after resetting the system all devices (which were supposed to be synced) are
>> marked dirty and are being fsck'ed.
>> 
>> cheers.
>> alex
>> 
>> oh...and i'm running FreeBSD otaku 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r197914:
>> Sat Oct 10 02:58:19 CEST 2009     root_at_otaku:/usr/obj/usr/src/sys/ARUNDEL
>> i386
>>
> 
> I'm inclined to say that umount'ing the file systems is failing because
> you pulled the USB stick out without doing umount.  Of course, that
> results in all file systems still being marked dirty.  Obviously, this
> pathological case isn't being handled.
> 
> I personally don't see why it ever should be handled.  This is UNIX not
> Windows and users should be smart enough to know that they umount such
> devices before removing them otherwise nasty things can happen.

1. If the device for one file system is gone, why would I mark *other* file
systems dirty? There is no reason to do so.

2. If a file system was mounted read-only, and its device is removed, there are
by definition ZERO dirty buffers that we need to synch on shutdown, so why does
the premature unplug-readonly-before-unmount spoil the shutdown?
Received on Thu Oct 15 2009 - 06:11:35 UTC

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