Re: [Patch 2/4] aacraid: expanded expose physical device code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> +		if ((scsicmd->cmnd[0] == INQUIRY) && (expose_physicals <= 0)) {
> +			u8 b;
> +			u8 b1;
> +			/* We can't expose disk devices because we can't
> +			 * tell whether they are the raw container drives
> +			 * or stand alone drives.  If they have the removable
> +			 * bit set then we should expose them though.
> +			 */
> +			b = (*(u8*)scsicmd->request_buffer)&0x1f;
> +			b1 = ((u8*)scsicmd->request_buffer)[1];
> +			if (b == TYPE_TAPE || b == TYPE_WORM ||
> +			    b == TYPE_ROM || b==TYPE_MOD ||
> +			    b == TYPE_MEDIUM_CHANGER ||
> +			    (b == TYPE_DISK && (b1 & 0x80))) {
> +				scsicmd->result = DID_OK << 16 |
> +					COMMAND_COMPLETE << 8;

This can't work at all.  request_buffer is always a scatterlist these days.
Besides this implementation bug it's also not the wrong way to do it either.
Please just return -ENXIO in ->slave_configure if sdev->type is not to
your liking instead of failing the INQUIRY command.
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux