Re: HEADSUP: disk_*(9) API change mega-patch

From: Kenneth D. Merry <ken_at_freebsd.org>
Date: Sun, 15 Feb 2004 17:11:55 -0700
On Thu, Feb 05, 2004 at 11:02:47 +0100, Poul-Henning Kamp wrote:
> 
> 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

In scsi_da.c, you have some changes that are not related to this:

 - you've added a quirk entry.  This should be run through njl.
 - you're sending a TUR in dagetcapacity(), which shouldn't be necessary.
   See rev 1.88 of scsi_cd.c and rev 1.55 of cam_periph.c.

Ken
-- 
Kenneth Merry
ken_at_FreeBSD.org
Received on Sun Feb 15 2004 - 15:11:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:43 UTC