HEADSUP:  disk_*(9) API change mega-patch
    Poul-Henning Kamp 
    phk at phk.freebsd.dk
       
    Thu Feb  5 02:02:51 PST 2004
    
    
  
This is a mostly mechanical and largely untested patch, so please test
carefully if you have the necessary hardware.
Kernel patch:
	http://phk.freebsd.dk/patch/disk.patch
Man-page update:
	http://phk.freebsd.dk/patch/disk_man.patch
Patch version: 2004-02-05.1
This patch changes the disk_*(9) API so that ownership of the "struct
disk" is moved from the device drivers to GEOM.  This removes a lot
of trouble from the disk_destroy(9) handling, which should be robust
with this patch.
After this change the API works as follows:
	allocated struct disk with disk_alloc(), store pointer in softc.
	populate fields, including d_unit and d_flags which were
	previous arguments to disk_create().
	call disk_create() with the pointer.
	call disk_destroy() to signal that the device has disappeared.
	NB: do not access struct disk in the driver anymore!
	return any outstanding requests with suitable error.
At the same time: eliminate unused arguments from disk_create(9)
Reverse sense of DISKFLAG_NOGIANT, to DISKFLAG_NEEDSGIANT.
Two weeks review
-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
    
    
More information about the freebsd-current
mailing list