From: Trond Myklebust Date: Sun, 15 Apr 2007 20:21:49 +0000 (-0400) Subject: NFS: Fix a list corruption problem X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=eb4cac10d9f7b006da842e2d37414d13e1333781;p=openwrt%2Fstaging%2Fblogic.git NFS: Fix a list corruption problem We must remove the request from whatever list it is currently on before we can add it to the dirty list. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds --- diff --git a/fs/nfs/write.c b/fs/nfs/write.c index e5d7cac569aa..ad2e91b4904f 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -280,8 +280,10 @@ static int nfs_page_mark_flush(struct page *page) spin_lock(req_lock); } spin_unlock(req_lock); - if (nfs_set_page_writeback(page) == 0) + if (nfs_set_page_writeback(page) == 0) { + nfs_list_remove_request(req); nfs_mark_request_dirty(req); + } ret = test_bit(PG_NEED_FLUSH, &req->wb_flags); nfs_unlock_request(req); return ret;