Module Name: src Committed By: riastradh Date: Fri Apr 21 18:31:00 UTC 2023
Modified Files: src/sys/dev/dkwedge: dk.c Log Message: dk(4): Set .d_cfdriver and .d_devtounit to plug open/detach race. This way, opening dkN or rdkN will wait if attach or detach is still in progress, and vdevgone will wake up such pending opens and make them fail. So it is no longer possible for a wedge to be detached after dkopen has already started using it. For now, we use a custom .d_devtounit function that looks up the autoconf unit number via the dkwedges array, which conceivably may use an independent unit numbering system -- nothing guarantees they match up. (In practice they will mostly match up, but concurrent wedge creation could lead to different numbering.) Eventually this should be changed so the two numbering systems match, which would let us delete the new dkunit function and just use dev_minor_unit like many other drivers can. To generate a diff of this commit: cvs rdiff -u -r1.143 -r1.144 src/sys/dev/dkwedge/dk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.