Обсуждение: 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. +