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>