Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 May 2015 10:44:15 +0100
From:      Bob Bishop <rb@gid.co.uk>
To:        "Julian H. Stacey" <jhs@berklix.com>
Cc:        NGie Cooper <yaneurabeya@gmail.com>, "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Ryan Stone <rysto32@gmail.com>
Subject:   Re: What's required to make removal of a mounted USB stick safe?
Message-ID:  <1231C6A0-BFCB-4384-ADF4-FAB7739DF91D@gid.co.uk>
In-Reply-To: <201505062159.t46Lx0iZ028607@fire.js.berklix.net>
References:  <201505062159.t46Lx0iZ028607@fire.js.berklix.net>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 6 May 2015, at 22:59, Julian H. Stacey <jhs@berklix.com> wrote:
>=20
> Hi, Reference:
>> From:		NGie Cooper <yaneurabeya@gmail.com>
>> Date:		Wed, 6 May 2015 14:28:12 -0700
>=20
> NGie Cooper wrote:
>> On Wed, May 6, 2015 at 1:49 PM, Ryan Stone <rysto32@gmail.com> wrote:
>>> Currently FreeBSD stands a fair chance at panicking if a mounted USB =
drive
>>> is removed while I/O is in flight.  Does anybody know what work is =
involved
>>> to have the kernel safely recover from this case?  Losing data from =
the
>>> drive is expected of course but there's no reason that the entire =
kernel
>>> has to crash.
>>>=20
>>> A co-worker has been looking at this but I don't feel that we =
understand
>>> the problem well enough to produce a real fix.  All that we've been =
doing
>>> so far is papering over the explicit panics without having a full
>>> understanding of what we're doing.
>>=20
>> What version are you working on and how is the USB stick mounted (/, =
/mnt, etc)?
>=20
> Not a new problem, it' been so over 30 years with Unix.=20
> Remove media without umount & game over. =20
> Some Solutions:
> - Deep kernel work (dont hold your breath, see 30 above, & don't look =
at me :-)
> - Cobble up some C to run from user space, not as root,
>  so that your UFS is not mounted, but accessed by user level
>  programs (much like mwrite & mread for accessing DOS media of old)
> - man 8 amd : set a short timeout to auto unmount,
>  it wont total solve your problem, but should lessen the frequency of =
panics.
> - Mount the USB media on a spare laptop running as an NFS+ AMD server,
>  then access the FS via NFS from your real client big PC.  When
>  you pull the stick by accident forgetting its mounted, just the
>  laptop crashes afte a bit, the AMD access on the other PC just
>  hangs but doesnt crash.
> - Encourage A SOC (google summer of code) student to look at it,
>  probably wont come to a solution though, see 30 above.
> - Toss money at the problem :-) If your company can afford some cash, =
either:
>  - help fund FreeBSD Foundation & ask them to solve it,=20
>  - Or pay some consultant somewhere to look at it, Here's a globaly
>    geographicaly indexed list http://berklix.com/consultants/
>    maybe there's one near your company ?

Hack up gnop(8) to report success upstream for every operation =
regardless.

(Maybe -r 0 -w 0 will do that already but I=E2=80=99d be surprised.)

> Cheers,
> Julian
> --
> Julian Stacey, BSD Linux Unix C Sys Eng Consultant Munich =
http://berklix.com
> 	Indent previous with "> ".	Reply Below as a play script.
> 	Send plain text, Not quoted-printable, HTML, or base64.
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to =
"freebsd-hackers-unsubscribe@freebsd.org"
>=20

--
Bob Bishop
rb@gid.co.uk







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1231C6A0-BFCB-4384-ADF4-FAB7739DF91D>