[NetBSD Developer Wiki]
- view: text
- select for diffs
Sun Nov 6 01:59:12 2011 UTC
(4 years ago) by jmmv
CVS tags: HEAD
Move existing project definitions from projects/gsoc_2011/ to
The goal for this reorganization is to remove any knowledge of the projects
classification from the file hierarchy: the classification goes into tags,
and projects indexes automatically list projects based on such tags.
Also, the current gsoc_2011 name was wrong anyway, because GSoC 2011 has
already concluded and projects would have had to move to a gsoc_2012 directory
Lastly, yes, "projects/project/*" is slightly redundant. But I want to keep
the project lists from the projects "database" clearly separated.
This is as proposed in www@.
title="Graceful USB disk detach/reattach"
[Matthias Drochner](mailto:drochner@NetBSD.org), [David Young](mailto:dyoung@NetBSD.org)
Make NetBSD behave gracefully when a "live" USB/FireWire disk drive is accidentally detached and re-attached by, for example, creating a virtual block device that receives block-read/write commands on behalf of the underlying disk driver. This device will delegate reads and writes to the disk driver, but it will keep a list of commands that are "outstanding," that is, reads that the disk driver has not completed, and writes that have not "hit the platter," so to speak. Following disk re-attachment, the virtual block device replays its list of outstanding commands. A correct solution will not replay commands to the wrong disk if the removable was replaced instead of re-attached. Provide a character device for userland to read indications that a disk in use was abruptly detached.
Open questions: Prior art? Isn't this how the Amiga worked? How will this interact with mount/unmount—is there a use-count on devices? Can you leverage "wedges" in your solution? Does any/most/all removable storage indicate reliably when a block written has actually reached the medium?
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb