Messages in this thread | | | Date | Thu, 04 Nov 2010 16:14:51 +0300 | From | Vladislav Bolkhovitin <> | Subject | Re: [RFC v2 16/21] tcm: Add PSCSI subsystem plugin |
| |
Boaz Harrosh, on 11/02/2010 05:23 PM wrote:
[...]
>> + * Some pseudo SCSI HBAs do not fill in sector_size >> + * correctly. (See ide-scsi.c) So go ahead and setup sane >> + * values. >> + */ >> + if (!sd->sector_size) { >> + switch (sd->type) { >> + case TYPE_DISK: >> + sd->sector_size = 512; >> + break; >> + case TYPE_ROM: >> + sd->sector_size = 2048; >> + break; >> + case TYPE_TAPE: /* The Tape may not be in the drive */ >> + break; >> + case TYPE_MEDIUM_CHANGER: /* Control CDBs only */ >> + break; >> + default: >> + printk(KERN_ERR "Unable to set sector_size for %d\n", >> + sd->type); >> + return NULL; > > What about sector-less devices? OSD, Scanners, printers ...
[...]
>> + /* >> + * For TYPE_TAPE, attempt to determine blocksize with MODE_SENSE. >> + */ >> + if (sd->type == TYPE_TAPE) { > > Just as a future note: > One of the things I'm missing from LIO is the notion of SCSI_TYPE or SCSI > class. So things like this can be done in a plugin manner as per TYPE > Like in the Kernel we have the ULDs for that.
This is exactly how it is done in SCST.
Also SCST well handles sector-less devices.
Vlad
| |