confused about raw-io blocksizes

From: Terje Eggestad (
Date: Fri Nov 09 2001 - 18:52:47 EST

I'm curious as to what sets the smallest legal blocksize for raw-io, I
get different values for different partitions on the same disk drive.

In all my tests I've used
raw /dev/raw/raw2 <block speclial file>
and to test block size:
dd if=/dev/raw/raw2 of=/dev/null bs=N count=1
where N is either 512, 1024, or 4096.
(I've a RH7.1 with a dd that do propper buffer alignment)
Failure is always "invalid argument" which singify either misaligned
buffer or illegal read length.

What confuses me is that when raw2 is bound to /dev/hda bs=512 is ok.
However when binding raw2 to the different partitions on /dev/hda, some
are ok with 512, some will only accept 1024, and one required 4096.

When creating an lvm vg on one partition (/dev/hda6), and I've created
two logical volumes on it, one was ok with 1024 and the other required
4096. When binding a raw to /dev/hda6 dd with bs=512 was ok.

When doing dd on the block special files bs=512 is always OK.

The reason I messing with this is that I'm working with an animal called
Oracle Real Application Cluster 9i which need a partiontion on a shared
disk to hold the cluster config. Installation stopped because the program
oracle provides to format the partition do 512 byte io, and require a
character raw device...



Terje Eggestad Scali Scalable Linux Systems

Olaf Helsets Vei 6 tel: +47 22 62 89 61 (OFFICE) P.O.Box 70 Bogerud +47 975 31 574 (MOBILE) N-0621 Oslo fax: +47 22 62 89 51 NORWAY _________________________________________________________________________

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Thu Nov 15 2001 - 21:00:24 EST