Commit:     ccfeb506231348a3c60ab0fdb5753a574653e3c0
Parent:     ab91f264cfbafd079dcb1bd02e9803c2dd65de19
Author:     Trond Myklebust <[EMAIL PROTECTED]>
AuthorDate: Sat Jan 13 02:28:12 2007 -0500
Committer:  Trond Myklebust <[EMAIL PROTECTED]>
CommitDate: Sat Feb 3 15:35:04 2007 -0800

    NFS: Fix up "rm -rf"...
    When a file is being scheduled for deletion by means of the sillyrename
    mechanism, it makes sense to start out writeback of the dirty data as
    soon as possible in order to ensure that the delete can occur. Examples of
    cases where this is an issue include "rm -rf", which will busy-wait until
    the file is closed, and the sillyrename completes.
    Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>
 fs/nfs/dir.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index d9ba8cb..bd269d2 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -1443,6 +1443,8 @@ static int nfs_unlink(struct inode *dir, struct dentry 
        if (atomic_read(&dentry->d_count) > 1) {
+               /* Start asynchronous writeout of the inode */
+               write_inode_now(dentry->d_inode, 0);
                error = nfs_sillyrename(dir, dentry);
                return error;
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to