What does the letter »r« stand for in /dev/sr0?
sktsee
sktsee at tulsaconnect.com
Thu Nov 5 15:36:10 UTC 2009
On Thu, 2009-11-05 at 09:18 -0500, Verde Denim wrote:
>
>
> On Wed, Nov 4, 2009 at 10:17 PM, Derek Broughton
> <derek at pointerstop.ca> wrote:
> Verde Denim wrote:
>
> > On Tue, Nov 3, 2009 at 9:34 AM, Derek Broughton
> > <derek at pointerstop.ca>wrote:
> >
> >
>
> > Translation - I don't know either... lol
>
>
> Actually, I'd already said that - and suggested "raw" as a
> wild guess. But
> I was intrigued that Detlef thought that knowing what it stood
> for would
> prevent errors, since I really can't imagine how most of us
> would need to
> know it.
> --
> derek
>
> And knowing the acronym definitions probably won't help the learning
> too much, either.
> But, according to the Linux SCSI sub-system documentation I have, it
> would have to stand for _SCSI_ _READ_ since it is a cd drive that is
> designated read-only. For generic operations on the same device, it
> would map to sg0 (_SCSI_ _GENERIC_) in order to gain the write perm.
> Apparently all of the devices like /dev/sr0, /dev/st0, /dev/nst0x map
> to an sg device for generic operations.
> Although _raw_ seems to be a good logical choice.
Loïc had it right.
But you should read the code from orbit. It's the only way to make sure.
>From a 2.4 kernel source
drivers/scsi/sd.c
static struct Scsi_Device_Template sd_template = {
name:"disk",
tag:"sd",
scsi_type:TYPE_DISK, <== "d" for disk
major:SCSI_DISK0_MAJOR,
/*
* Secondary range of majors that this driver handles.
*/
min_major:SCSI_DISK1_MAJOR,
max_major:SCSI_DISK7_MAJOR,
blk:1,
detect:sd_detect,
init:sd_init,
finish:sd_finish,
attach:sd_attach,
detach:sd_detach,
init_command:sd_init_command,
};
drivers/scsi/st.c
static struct Scsi_Device_Template st_template =
{
name:"tape",
tag:"st",
scsi_type:TYPE_TAPE, <== "t" for tape
major:SCSI_TAPE_MAJOR,
detect:st_detect,
init:st_init,
attach:st_attach,
detach:st_detach
};
drivers/scsi/sr.c
static struct Scsi_Device_Template sr_template =
{
name:"cdrom",
tag:"sr",
scsi_type:TYPE_ROM, <== "r" for ROM
major:SCSI_CDROM_MAJOR,
blk:1,
detect:sr_detect,
init:sr_init,
finish:sr_finish,
attach:sr_attach,
detach:sr_detach,
init_command:sr_init_command
};
>From a 2.6 kernel source
drivers/scsi/sr.c
MODULE_DESCRIPTION("SCSI cdrom (sr) driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_CDROM_MAJOR);
MODULE_ALIAS_SCSI_DEVICE(TYPE_ROM);
MODULE_ALIAS_SCSI_DEVICE(TYPE_WORM);
--
sktsee
More information about the ubuntu-users
mailing list