Client fails to delete things it just created
From Linux NFS
(Difference between revisions)
(9 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
+ | == About == | ||
+ | * Kernel version: 2.6.34-rc4 | ||
+ | * [https://bugzilla.kernel.org/show_bug.cgi?id=15819 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 | + | * This was caused by commit [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=acdc53b2146c7ee67feb1f02f7bc3020126514b8 acdc53b2146c7ee67feb1f02f7bc3020126514b8] |
<pre> | <pre> | ||
Line 15: | Line 22: | ||
</pre> | </pre> | ||
- | + | == Resolution == | |
- | + | * This problem was fixed by commit [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=71d0a6112a363e703e383ae5b12c492485c39701 71d0a6112a363e703e383ae5b12c492485c39701] | |
- | This problem was fixed by: | + | |
<pre> | <pre> |
Latest revision as of 17:13, 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
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
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>