Public bug reported: NOTE: This bug has been fixed in the upstream mainline kernel via https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=be189f7e7f03de35887e5a85ddcf39b91b5d7fc1 and merged in the latest NFS client patches in https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=c7a2c49ea6c9eebbe44ff2c08b663b2905ee2c13.
The full patchset is here: https://marc.info/?l=linux- nfs&m=153816500525563&w=2 I'm repeating the report I sent to the NFS maintainers on the mailing list: On Ubuntu 16.04 (4.4.0-130) with NFS v4.0, I'm seeing an issue where stale data is shown if a file remains open on one machine, and the file is overwritten via a rename() on another. Here's my test: 1. On node A, create two different files on a shared NFS mount: "test1.txt" and "test2.txt". 2. On node B, continuously show the contents of the first file: "while true; do cat test1.txt; done" 3. On node B, run a process that keeps "test1.txt" open. For example, with Python, run: f = open('/nfs-mount/test1.txt', 'r') 4. Rename test2.txt via "mv -f test2.txt test1.txt" On node B, I see the contents of the original test1.txt indefinitely, even after I disabled attribute caching and the lookup cache. I can make the while loop in step 2 show the new content if I perform one of these actions: 1. Run "ls /nfs-mount" 2. Close the open file in step 3 ** Affects: linux (Ubuntu) Importance: Undecided Status: New ** Tags: client nfs ** Summary changed: - Stale data after file is renamed while another process has an open file handle + NFS: Stale data after file is renamed while another process has an open file handle ** Summary changed: - NFS: Stale data after file is renamed while another process has an open file handle + NFS v4.0: Stale data after file is renamed while another process has an open file handle ** Description changed: NOTE: This bug has been fixed in the upstream mainline kernel via https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=be189f7e7f03de35887e5a85ddcf39b91b5d7fc1 and merged in the latest NFS client patches in https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=c7a2c49ea6c9eebbe44ff2c08b663b2905ee2c13. The full patchset is here: https://marc.info/?l=linux- nfs&m=153816500525563&w=2 I'm repeating the report I sent to the NFS maintainers on the mailing list: - On both kernels in Ubuntu 16.04 (4.4.0-130) with NFS v4.0, I'm seeing an issue where + On Ubuntu 16.04 (4.4.0-130) with NFS v4.0, I'm seeing an issue where stale data is shown if a file remains open on one machine, and the file is overwritten via a rename() on another. Here's my test: 1. On node A, create two different files on a shared NFS mount: "test1.txt" and "test2.txt". 2. On node B, continuously show the contents of the first file: "while true; do cat test1.txt; done" 3. On node B, run a process that keeps "test1.txt" open. For example, with Python, run: - f = open('/nfs-mount/test1.txt', 'r') + f = open('/nfs-mount/test1.txt', 'r') 4. Rename test2.txt via "mv -f test2.txt test1.txt" On node B, I see the contents of the original test1.txt indefinitely, even after I disabled attribute caching and the lookup cache. I can make the while loop in step 2 show the new content if I perform one of these actions: 1. Run "ls /nfs-mount" 2. Close the open file in step 3 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1802585 Title: NFS v4.0: Stale data after file is renamed while another process has an open file handle To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1802585/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs