Module Name: src Committed By: riastradh Date: Mon Mar 28 12:33:50 UTC 2022
Modified Files: src/sys/kern: subr_devsw.c src/sys/sys: conf.h Log Message: driver(9): New devsw members d_cfdriver, d_devtounit. If set, then bdev_open/cdev_open will use d_devtounit to map the dev_t to an autoconf instance (e.g., /dev/wd0a -> wd0) and hold a reference with device_lookup_acquire across the call to d_open. This guarantees that the autoconf instance cannot be detached while the devsw's d_open function is trying to open it (and also that the autoconf instance has finished *_attach before anyone can open it). Of course, if the underlying hardware has gone away, there will be I/O errors, but this avoids software synchronization bugs between open and detach for drivers that opt into it. It's up to the driver and bus to figure out how to deal with I/O errors from operations on hardware that has gone away while the software hasn't finished notifying everything that it's gone yet. XXX kernel ABI change to struct bdevsw/cdevsw requires bump To generate a diff of this commit: cvs rdiff -u -r1.40 -r1.41 src/sys/kern/subr_devsw.c cvs rdiff -u -r1.155 -r1.156 src/sys/sys/conf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.