Client fails to delete things it just created
From Linux NFS
(Difference between revisions)
Line 4: | Line 4: | ||
* Reported by: Maciej Rutecki | * Reported by: Maciej Rutecki | ||
* Fixed by: Trond Myklebust | * Fixed by: Trond Myklebust | ||
- | |||
== Symptoms == | == Symptoms == | ||
* An NFS client cannot delete files it just created | * An NFS client cannot delete files it just created | ||
- | |||
== Cause == | == Cause == | ||
Line 22: | Line 20: | ||
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> | Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> | ||
</pre> | </pre> | ||
- | |||
== Resolution == | == Resolution == |
Revision as of 15:08, 22 October 2010
Contents |
About
- Kernel version: 2.6.34-rc4
- bug 15819
- Reported by: Maciej Rutecki
- Fixed by: Trond Myklebust
Symptoms
- An NFS client cannot delete files it just created
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
This problem was fixed by:
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>