What happened to /dev/raw/

devicesudev

I am reading an article on LWN and it has an important statement:

Raw devices (/dev/raw/rawN) are a special case of O_DIRECT I/O. These
devices can be opened without specifying O_DIRECT, but still provide
direct I/O semantics. As such, all of the same rules apply to raw
devices that apply to files (or devices) opened with O_DIRECT.

Does this refer to what today is /dev/sda and few others?

Best Answer

No, /dev/raw is different from the conventional /dev/sda block device. According to The Linux 2.4 SCSI subsystem HOWTO: Chapter 11. Raw devices:

A raw device can be bound to an existing block device (e.g. a disk) and be used to perform "raw" IO with that existing block device. Such "raw" IO bypasses the caching that is normally associated with block devices. Hence a raw device offers a more "direct" route to the physical device and allows an application more control over the timing of IO to that physical device. This makes raw devices suitable for complex applications like Database Management Systems that typically do their own caching.

Raw devices are character devices (major number 162). The first minor number (i.e. 0) is reserved as a control interface and is usually found at /dev/rawctl. A utility called raw (see man raw) can be used to bind a raw device to an existing block device. These "existing block devices" may be disks or cdroms/dvds whose underlying interface can be anything supported by Linux (e.g. IDE/ATA or SCSI).

Besides the information in the HOWTO, there are some other sources to read:

Related Question