I wrote:
> Huh, is it possible that Linux rejects O_SYNC for a file on ramdisk?
I found this in the Fedora 9 manpage for open(2):
O_DIRECT support was added under Linux in kernel version 2.4.10. Older
Linux kernels simply ignore this flag. Some filesystems may not imple-
ment the flag and open() will fail with EINVAL if it is used.
so it may not be ramdisk per se that's the issue, but the filesystem
you're using on it.
We set O_DIRECT along with O_SYNC whenever O_DIRECT is defined. I
wonder whether there's a need to make that decision more configurable.
regards, tom lane