Обсуждение: What happened to open_sync_without_odirect?
Last I remember, we were going to add this as an option. But I don't
see a patch in the queue. Am I missing it? Was I supposed to write it?
-- -- Josh Berkus PostgreSQL Experts Inc.
http://www.pgexperts.com
Josh Berkus wrote: > Last I remember, we were going to add this as an option. But I don't > see a patch in the queue. Am I missing it? Was I supposed to write it? I don't know, but let me add that I am confused how this would look to users. In many cases, kernels don't even support O_DIRECT, so what would we do to specify this? What about just auto-disabling O_DIRECT if the filesystem does not support it; maybe issue a log message about it. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
On 1/15/11 4:30 PM, Bruce Momjian wrote:
> Josh Berkus wrote:
>> Last I remember, we were going to add this as an option. But I don't
>> see a patch in the queue. Am I missing it? Was I supposed to write it?
>
> I don't know, but let me add that I am confused how this would look to
> users. In many cases, kernels don't even support O_DIRECT, so what
> would we do to specify this? What about just auto-disabling O_DIRECT if
> the filesystem does not support it; maybe issue a log message about it.
Yes, you *are* confused. The problem isn't auto-disabling, we already
do that. The problem is *auto-enabling*; ages ago we made the
assumption that if o_sync was supported, so was o_direct. We've now
found out that's not true on all platforms.
Also, test results show that even when supported, o_direct isn't
necessarily a win. Hence, the additional fsync_method options.
-- -- Josh Berkus PostgreSQL Experts Inc.
http://www.pgexperts.com
Josh Berkus wrote: > On 1/15/11 4:30 PM, Bruce Momjian wrote: > > Josh Berkus wrote: > >> Last I remember, we were going to add this as an option. But I don't > >> see a patch in the queue. Am I missing it? Was I supposed to write it? > > > > I don't know, but let me add that I am confused how this would look to > > users. In many cases, kernels don't even support O_DIRECT, so what > > would we do to specify this? What about just auto-disabling O_DIRECT if > > the filesystem does not support it; maybe issue a log message about it. > > Yes, you *are* confused. The problem isn't auto-disabling, we already > do that. The problem is *auto-enabling*; ages ago we made the > assumption that if o_sync was supported, so was o_direct. We've now > found out that's not true on all platforms. > > Also, test results show that even when supported, o_direct isn't > necessarily a win. Hence, the additional fsync_method options. I think it would be clear if we did not use o_direct for open_*sync, but only for open_*sync_direct, so there was no auto-direct anything --- you had to ask for it, and if we don't support it, you get an error. Right now people aren't sure what they are getting. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +