Aaron Dailey wrote: > Garrett, > > A couple additional questions: > > I can imagine a flash device not supporting multiple outstanding > commands (i.e. tagged command queue). Is there any easy way to > indicate this?
I support untagged queueing right now. There is no support in the framework at present for tagged queueing. Untagged queuing can support multiple outstanding commands. > > Do flash devices typically have a GUID? If so, would it make sense to > pass that back as inquiry page 83 data so SD can make a devid from it, > rather than fabricating it? The SDcard devices I'm dealing with have a unique ID, but it is fabricated from an entirely different namespace. If there is a way to qualify the ID then that would work. Note that these devices generally do not have page 83 inquiry data when installed in a USB card reader. - Garrett > > Aaron > > Cyril Plisko wrote: >> Cc: to storage-discuss as well >> >> On Nov 13, 2007 11:47 PM, Garrett D'Amore <[EMAIL PROTECTED]> wrote: >> >>> I've posted a draft functional specification for blk2scsa (this is my >>> generic block device to SCSA disk emulation layer); >>> >>> http://opensolaris.org/os/project/sdcard-drivers/blk2scsa-spec/ >>> >>> Feedback appreciated. I still hope to get this started as a PSARC case >>> *really* soon. >>> >>> >> >> Garrett, >> >> nice piece. >> >> General questions: >> >> 1. Since you are talking about block device you are probably emulating >> some version of SBC command set. Can you provide more info on exact >> revisions of SPC, SBC (and others if any) this module will support ? >> >> 2. What Peripheral Device Type is emulated by this module. >> Again since you are talking about block device, I assume it is 00h, >> but there are other options. >> >> 3. Any provision for supporting other types of SCSI devices ? >> Admittedly in this case it might be more generic than *blk*2scsa. >> >> Specific questions: >> >> 1. typedef struct b2s_target b2s_target_t; >> >> The b2s_target_t structure is a handle to an emulated SCSI disk. It >> has the following accessible members: >> >> uint16_t target_number; >> >> No hierarchical LUN support, right ? >> >> const char *target_vendor; >> const char *target_product; >> const char *target_revision; >> const char *target_serial; >> >> In SCSI world these strings are of fixed size and left-aligned, space >> padded. Isn't it better to store them in ready to consume form, rather >> than doing the manipulation in the blk2scsa module ? >> >> boolean_t (*target_request)(void *, struct b2s_request *); >> >> I would imagine that registering a block of ops entry points >> instead of single "swiss army knife" callback can be more >> flexible in the future. What do you think ? >> >> Nit: >> auto-sense-request should be auto request sense >> >> >> > _______________________________________________ driver-discuss mailing list driver-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/driver-discuss