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 Kernel
Packages, which is subscribed to linux in 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

Status in linux package in Ubuntu:
  New

Bug description:
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1802585/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to