Re: DIRECT IO for ext3/ext2.

From: Michael Kerrisk
Date: Tue Nov 25 2003 - 03:18:29 EST


> Thanks for your reply. I looked into the boundary alignment issue.
> Observed something strange happening;
>
> I wrote my own kernel module and then;
> 1. retrieved the block size = 4096 using block_size(struct block_device
> *bdev)
> 2. in the user application i did a lseek by 4906 (block size seek)
> 3. then found the address of the variable i wanted to read into, to be
> block
> size aligned.
>
> However, the read still seems to fail with the O_DIRECT flag specified.
> The same check _passes if i do not specify the flag in open of the
> device.
>
> Boundary issues seem to be not the cause of failure here.
> Would have any more kind suggestions on something that i should do or
> could be missing on?

Is the size of the data you are reading also a multiple the block size? (It
should be.)

Cheers,

Michael

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/