plan9fox/sys
cinap_lenrek f05b8af71e devsd: cache SDunit pointer in Chan.aux, improve error handling
Avoid calling sdgetdev() for every I/O. Instead,
put the SDunit pointer for #S/sdXX/* files in Chan.aux
and keep a reference to SDev between sdopen()/sdclose().

This avoids having to do the sdindex() lookup and
qlock(),incref(),decref() on every read/write
operation. Removal of SDev's is quite rare and only
can happen with pcmcia ide controllers, and i assume
that for that we can assume thet fileservers having
been exited properly and closed their files before
we attempt to remove a device.

The rest is improving waserror() codepaths, making
sure we release the locks for any of the interface
callbacks (verify/online).

Also get rid of tas() and instead only change the
unit's rawopen flag while holding raw qlock.
2022-03-30 19:23:26 +00:00
..
doc /sys/doc/troff.ms: give correct path for -m flag (thanks kyle) 2021-11-01 11:28:52 +00:00
games/lib /sys/games/lib/fortunes: GPU.js 2022-01-23 03:10:23 +00:00
include ape: export mktemp() in <stdlib.h> when _BSD_SOURCE is set 2022-01-03 18:49:40 +00:00
lib mainly just spelling and typos 2021-11-01 20:49:43 +00:00
man ip(3): use flags instead of tag for 8 column route add/remove 2022-03-14 18:45:27 +00:00
src devsd: cache SDunit pointer in Chan.aux, improve error handling 2022-03-30 19:23:26 +00:00