Client fails to delete things it just created

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
* Kernel version: 2.6.34-rc4
* Kernel version: 2.6.34-rc4
* [https://bugzilla.kernel.org/show_bug.cgi?id=15819 bug 15819]
* [https://bugzilla.kernel.org/show_bug.cgi?id=15819 bug 15819]
-
* Reported by: Maciej Rutecki
+
* Reported by: Maciej Rutecki (April 20, 2010)
-
* Fixed by: Trond Myklebust
+
* Fixed by: Trond Myklebust (April 22, 2010)
== Symptoms ==
== Symptoms ==

Revision as of 15:58, 22 October 2010

Contents

About

  • Kernel version: 2.6.34-rc4
  • bug 15819
  • Reported by: Maciej Rutecki (April 20, 2010)
  • Fixed by: Trond Myklebust (April 22, 2010)

Symptoms

  • An NFS client cannot delete files it just created
  • This was found to be a NFS writeback regression

Cause

  • This was caused by
commit acdc53b2146c7ee67feb1f02f7bc3020126514b8
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Fri Feb 19 17:03:26 2010 -0800

    NFS: Replace __nfs_write_mapping with sync_inode()

    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

Resolution

commit 71d0a6112a363e703e383ae5b12c492485c39701
Author: Trond Myklebust <Trond.Myklebust@netapp.com>
Date:   Thu Apr 22 15:35:57 2010 -0400

    NFS: Fix an unstable write data integrity race
    
    Commit 2c61be0a9478258f77b66208a0c4b1f5f8161c3c (NFS: Ensure that the WRITE
    and COMMIT RPC calls are always uninterruptible) exposed a race on file
    close. In order to ensure correct close-to-open behaviour, we want to wait
    for all outstanding background commit operations to complete.
    
    This patch adds an inode flag that indicates if a commit operation is under
    way, and provides a mechanism to allow ->write_inode() to wait for its
    completion if this is a data integrity flush.
    
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Personal tools