USCSI is a stupid catch all for raw SCSI. IMO, using it for firmware upgrades is a cop-out, instead of using a better design — and it suffers badly from limitations like the transfer size problem elucidated earlier in this discussion. Its just a horrible, horrid solution.
Whats worse is that USCSI creates all kinds of problems for devices that “simulate” SCSI, but simply aren’t. For example, what will USB block storage do in the face of this? In some cases USCSI doesn’t work at *all* because it relies on devices supporting DMA, and there are “SCSI” devices that don’t DMA at all. I wrote such an emulation for SDcard storage in the ancient past. (I decided that this was simply insane, and wound up throwing away my own blk2scsa work to create the much saner blkdev framework.) Indeed, actually it would be *vastly* nicer to have an ioctl that could be cleanly implemented by other devices that are storage-like, but don’t implement true SCSI. For example, the NVME driver based on blkdev — it wouldn’t be hard to add a new ioctl that was clean to blkdev, but I’m *vehemently* opposed to teaching blkdev SCSI. False attempts to assume all the universe is SCSI is at the root of *many* evils in modern computer systems. Please don’t compound this further. - Garrett On Mon, Apr 25, 2016 at 4:02 PM, Joshua M. Clulow <[email protected]> wrote: > On 25 April 2016 at 15:58, Garrett D'Amore <[email protected]> wrote: > > Sure Robert. Still, even if we wind up *not* doing a common framework, > I’d rather see an ioctl to deal with this than abusing the uscsi ioctl. > Even an sd-specific ioctl would be superior to USCSI, IMO, and this could > be a stepping stone to a more neutral common implementation in the future. > > Why is this an abuse of the uscsi ioctl? What is it _for_, if not > sending SCSI commands to targets from outside the kernel? > > -- > Joshua M. Clulow > UNIX Admin/Developer > http://blog.sysmgr.org > ------------------------------------------- smartos-discuss Archives: https://www.listbox.com/member/archive/184463/=now RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00 Modify Your Subscription: https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb Powered by Listbox: http://www.listbox.com
