Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Sep 2000 01:08:26 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Jim Weeks <jim@siteplus.net>
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: umount -f question
Message-ID:  <Pine.BSF.4.21.0009190040350.16912-100000@besplex.bde.org>
In-Reply-To: <Pine.BSF.4.21.0009172032230.382-100000@veager.siteplus.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 17 Sep 2000, Jim Weeks wrote:

> I am not sure if this is the right forum for this question but I haven't
> had a lot of help with this problem elsewhere.
> 
> I have a Seagate Barracuda drive on a BT958 controller that dies during
> heavy writes.  I have pretty much narrowed it down to outdated firm ware,
> but I have not been able to upgrade it yet.
> 
> Right now it is down.  I can stop, start, and tur it with camcontrol, but
> am unable to umount, mount, fsck, fdisk, or disklabel.  I get device not
> configured errors.
> 
> My question is why I cannot remove the mount point as listed in # df with
> the # umount -f /dev/da1s1e command.

umount -f doesn't try hard enough to force the unmount, at least for ffs.
ffs_unmount() uses the -f flag only for flushing files.  Then, if the
filesystems mounted rw, it always attempts to update the superblock, and
this should always fail if the drive has died.  I ignore errors from
this in my version of ffs_vfsops.c (I should only ignore them in the -f
case).  If the superblock update succeeds, then ffs_unmount() is committed
to the mount succeeding, but the unmount can still fail if closing the
device fails, as probably happens if the device has died.  This may cause
memory leaks or worse because dounmount() doesn't understand half
successful unmounts.

Failure of the other commands is correct because they involve opens and
the driver shouldn't allow opening dead devices.

Bruce



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009190040350.16912-100000>