Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d677e3504cd173b2ff7fc393ee4241b3c0f92a6
Commit:     6d677e3504cd173b2ff7fc393ee4241b3c0f92a6
Parent:     8e821cad12e80cd1a8a3fbadf91f62f17f32549e
Author:     Trond Myklebust <[EMAIL PROTECTED]>
AuthorDate: Fri Apr 20 16:12:40 2007 -0400
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Fri Apr 20 22:56:29 2007 -0700

    NFS: Don't clear PG_writeback until after we've processed unstable writes
    
    Ensure that we don't release the PG_writeback lock until after the page has
    either been redirtied, or queued on the nfs_inode 'commit' list.
    
    Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 fs/nfs/write.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 3ed4feb..8e94246 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -920,8 +920,8 @@ out_bad:
                list_del(&data->pages);
                nfs_writedata_release(data);
        }
-       nfs_end_page_writeback(req->wb_page);
        nfs_redirty_request(req);
+       nfs_end_page_writeback(req->wb_page);
        nfs_clear_page_writeback(req);
        return -ENOMEM;
 }
@@ -966,8 +966,8 @@ static int nfs_flush_one(struct inode *inode, struct 
list_head *head, int how)
        while (!list_empty(head)) {
                struct nfs_page *req = nfs_list_entry(head->next);
                nfs_list_remove_request(req);
-               nfs_end_page_writeback(req->wb_page);
                nfs_redirty_request(req);
+               nfs_end_page_writeback(req->wb_page);
                nfs_clear_page_writeback(req);
        }
        return -ENOMEM;
@@ -1002,8 +1002,8 @@ out_err:
        while (!list_empty(head)) {
                req = nfs_list_entry(head->next);
                nfs_list_remove_request(req);
-               nfs_end_page_writeback(req->wb_page);
                nfs_redirty_request(req);
+               nfs_end_page_writeback(req->wb_page);
                nfs_clear_page_writeback(req);
        }
        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  http://vger.kernel.org/majordomo-info.html

Reply via email to