Messages in this thread | | | Date | Fri, 10 Feb 2006 16:38:48 +0100 | From | jerome lacoste <> | Subject | Re: CD writing in future Linux (stirring up a hornets' nest) |
| |
On 2/10/06, Joerg Schilling <schilling@fokus.fraunhofer.de> wrote: > "D. Hazelton" <dhazelton@enter.net> wrote: > > > And does cdrecord even need libscg anymore? From having actually gone through > > your code, Joerg, I can tell you that it does serve a larger purpose. But at > > this point I have to ask - besides cdrecord and a few other _COMPACT_ _DISC_ > > writing programs, does _ANYONE_ use libscg? Is it ever used to access any > > other devices that are either SCSI or use a SCSI command protocol (like > > ATAPI)? My point there is that you have a wonderful library, but despite > > your wishes, there is no proof that it is ever used for anything except > > writing/ripping CD's. > > Name a single program (not using libscg) that implements user space SCSI and runs > on as many platforms as cdrecord/libscg does.
I have 2 technical questions, and I hope that you will take the time to answer them.
1) extract from the README of the latest stable cdrtools package:
Linux driver design oddities ****************************************** Although cdrecord supports to use dev=/dev/sgc, it is not recommended and it is unsupported.
The /dev/sg* device mapping in Linux is not stable! Using dev=/dev/sgc in a shell script may fail after a reboot because the device you want to talk to has moved to /dev/sgd. For the proper and OS independent dev=<bus>,<tgt>,<lun> syntax read the man page of cdrecord.
My understanding of that is you say to not use dev=/dev/sgc because it isn't stable. Now that you've said that bus,tgt,lun is not stable on Linux (because of a "Linux bug") why is the b,t,l scheme preferred over the /dev/sg* one ?
2) design question:
- cdrecord scans then maps the device to the b,t,l scheme. - the libsg uses the b,t,l ids in its interface to perform the operations
So now, if cdrecord could have a new option called -scanbusmap that displays the mapping it performs in a way that people can parse the output, I think that will solve most issues.
cdrecord already has this information available, it just doesn't display it:
$ cdrecord debug=2 dev=ATAPI -scanbus 2>&1 | grep INFO INFO: /dev/hdc, (host0/bus1/target0/lun0) will be mapped on the schilly bus No 0 (0,0,0) INFO: /dev/hdd, (host0/bus1/target1/lun0) will be mapped on the schilly bus No 0 (0,1,0)
It could perform in the following way:
$ cdrecord dev=ATAPI -scanbusmap ...
0,0,0 <= /dev/hdc 0,1,0 <= /dev/hdd
Are you accepting such a patch?
Jerome - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |