NFS client does not submit "nfs_file_sync" write requests when the file open call includes O_SYNC.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Fix Released
|
Medium
|
|||
linux (Ubuntu) |
Invalid
|
High
|
Unassigned | ||
Lucid |
Won't Fix
|
High
|
Unassigned |
Bug Description
The NFS Client is ignoring O_SYNC when opening a file.
This bug is causing unstable writes in the application environment even
when the mount option "sync" is set on both sides (NFS client and server).
We have a test case shows that the Ubuntu NFS client does
not submit "nfs_file_sync" write requests when the file open call
includes O_SYNC.
I have strace and tcpdump data showing this issue. The strace shows that
the file is opened with O_SYNC. The tcpdump shows "unstable writes"
which should not occur with either "sync" mount option or with forced
sync by using the open file system call with O_SYNC. Comparing the
tcpdump data between the Ubuntu NFS client a RHEL NFS client shows
that the Ubuntu NFS client does not issue the "nfs_file_sync" write
requests, while the RHEL NFS client does.
This issue does not appear to be tied to a specific model of storage
array or a specific file system. Tests have been performed against an NFS
server having access to a GPFS file system where a SAN attached IBM
DS5300 is the underlying storage array. But the behaviour is exactly
the same when they export a local ext3 file system from the local scsi
disk.
Changed in nfs-utils (Ubuntu): | |
assignee: | Surbhi Palande (csurbhi) → nobody |
Changed in nfs-utils (Ubuntu Lucid): | |
assignee: | Surbhi Palande (csurbhi) → nobody |
Changed in linux: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Changed in linux: | |
status: | Confirmed → Fix Released |
Which version of RHEL? or more specifically, version of nfs client packages in that version of RHEL.