On Mon, Jun 26, 2006 at 02:08:25PM -0700, Matthew Dharm wrote: > On Mon, Jun 26, 2006 at 09:18:28AM -0600, Matthew Wilcox wrote: > > 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. Ever tried that? ;-) drivers/scsi/hosts.c sets max_id to 8 in scsi_host_alloc(). I don't see anything in USB setting max_id to 16. > > 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? Just an unsigned int, I think. > How do I set up multiple channels in code? Increase shost->max_channel each time you want to create a new one. Then pass it to scsi_scan_target(). - : 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