Re: O_DIRECT alignment requirements ?

Rob van Nieuwkerk (robn@verdi.et.tudelft.nl)
Wed, 09 Apr 2003 18:53:17 +0200


Joel Becker wrote:
> On Wed, Apr 09, 2003 at 02:16:08PM +0200, Rob van Nieuwkerk wrote:
> > I plan to use O_DIRECT in my application (on a partition, no fs).
> > It is hard to find info on the exact requirements on the mandatory
> > alignments of buffer, offset, transfer size: it's easy to find many
> > contradicting documents. And checking the kernel source itself isn't
> > trivial.
>
> In 2.4, your buffer, offset, and transfer size must be soft
> blocksize aligned. That's the output of BLKBSZGET against the block
> device. For unmounted partitions that is 512b, for most people's ext3
> filesystems that is 4K. It is, FYI, the number set by set_blocksize().

Hi Joel,

Thank you for your reaction.

I get 4096 with BLKBSZGET on several unmounted partitions on my system
(RH 2.4.18-27.7.x kernel). Some give 1024 .. Maybe it is because I
had them mounted first and unmounted them for the test ?

greetings,
Rob van Nieuwkerk
-
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/