On Mon, Jun 26, 2006 at 09:18:28AM -0600, Matthew Wilcox wrote: > On Mon, Jun 26, 2006 at 07:44:42AM -0700, Matthew Dharm wrote: > > As for using one Scsi_Host... there are several usb-storage devices which > > attach to an entire SCSI bus (not just a single target), so can't make each > > device it's own target. > > Oh. My fault for reading the comment rather than the code. > > /* reject if target != 0 or if LUN is higher than > * the maximum known LUN > */ > else if (us->srb->device->id && > !(us->flags & US_FL_SCM_MULT_TARG)) { > > Do these devices stick to occupying only target IDs from 0-7? If not, > you may wish to increase ->max_id for those devices. I think it'd be worth > exporting scsi_scan_channel() from the midlayer (and rearranging it to have > __scsi_scan_channel() as was done with __scsi_scan_target) for USB's benefit. These support target IDs to up 15. But I see the point of limiting ->max_id for devices which do not have the SCM_MULT_TARG flag set. > It's definitely possible to remove individual targets dynamically now; > Fibre Channel has sorted that out (and will complain loudly if it breaks). > The scsi core doesn't really have a channel object; channel is just an integer > that describes a path to a target. So I think there should be no problem in > converting USB to have one host and many channels. Interesting. What's the limit on the number of channels you can have? How do I set up multiple channels in code? Matt -- Matthew Dharm Home: mdharm-usb@xxxxxxxxxxxxxxxxxx Maintainer, Linux USB Mass Storage Driver What, are you one of those Microsoft-bashing Linux freaks? -- Customer to Greg User Friendly, 2/10/1999
Attachment:
pgpLVpXxxQLSI.pgp
Description: PGP signature