raw device property
Artem Kachitchkine
Artem.Kachitchkin at Sun.COM
Tue Mar 28 12:25:29 PST 2006
In Solaris and some other unixes for each block device there is a
corresponding character device, which we call a raw device, e.g:
$ ls -lL /dev/{dsk,rdsk}/c0d0p0
brw-r----- 1 root sys 102, 16 Mar 28 12:15 /dev/dsk/c0d0p0
crw-r----- 1 root sys 102, 16 Mar 28 12:15 /dev/rdsk/c0d0p0
Data from/to a raw device doesn't go through buffer cache. Also, many
ioctls, such as getting CDROM TOC and CD-DA data, are only allowed on a
raw device.
Initially I thought the apps would just convert /dev/dsk/* to
/dev/rdsk/*, but besides being pain in the butt, it's also not generic
enough. What if block->raw name conversion is more difficult or expensive?
I propose to add an optional property "block.raw_device" to point to the
raw device corresponding to the "block.device" block device. Apps like
nautilus CD burner then check if "block.raw_device" exists, and if not,
fall back to "block.device".
If there are no protests and the property name is adequate, I will upate
the spec.
-Artem.
More information about the hal
mailing list