To get this to work better, you could:
1) Use a ring buffer in shared memory instead of pipes for the
"userland buffering tool".
2) Use the new raw devices for the disk image of the CDROM when they
become available from Dave Miller.
3) Modify the Generic SCSI driver so it can point to a data buffer
(or a chain of them) in user-land for read/writes instead of
mixing up commands and data in one non-aligned io block. Not
sure what the consequences are here if you give the generic
SCSI driver a memory area that doesn't belong to you ie it
'seg faults' in the DMA.
Then you get:
1. DMA raw partition -> ring buffer in shared memory.
2. DMA ring buffer in shared memory -> SCSI card with CD writer.
This is assuming that data gets copied verbatim from the disk
to the CDROM.
Of course, the ideal would be to DMA directly from the disk
to the CD across the PCI bus. Hey they might be on the same
SCSI controller, then the data never has to leave the
controller... :-).
-- Erik Corry erik@arbat.com http://inet.uni-c.dk/~ehcorry/