Bug 151219
Summary: | writes using O_SYNC on ext3 are not POSIX compliant | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | craig harmer <craig> |
Component: | kernel | Assignee: | Stephen Tweedie <sct> |
Status: | CLOSED WONTFIX | QA Contact: | Brian Brock <bbrock> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 4.0 | CC: | davej, linux26port, riel |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2005-03-16 15:01:37 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
craig harmer
2005-03-16 02:51:00 UTC
Unfortunately, this change would cause a major performance regression for all O_SYNC users; and right now Linux simply does not have an O_DSYNC option. glibc defines it: /* These are lesser flavors of partial synchronization that are implied by our one flag (O_FSYNC). */ #if defined __USE_POSIX199309 || defined __USE_UNIX98 # define O_DSYNC O_SYNC /* Synchronize data. */ # define O_RSYNC O_SYNC /* Synchronize read operations. */ #endif So if this were fixed according to strict POSIX synchronised IO guarantees for timestamps, all O_*SYNC users would see the performance penalty of timestamp updates --- even users who are requesting O_DSYNC and have no requirement for synchronised timestamp updates. Introducing such a regression in a RHEL4 update is not really an option; neither is changing the ABI within a release to make O_SYNC and O_DSYNC distinct. As such, this is really an upstream issue; if glibc and the kernel have proper O_DSYNC functionality by the time RHEL5 freezes, then inheriting that work would be possible then. |