write.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-) diff -u --recursive --new-file --show-c-function linux-2.6.7-rc3/fs/nfs/write.c linux-2.6.7-01-write_hang/fs/nfs/write.c --- linux-2.6.7-rc3/fs/nfs/write.c 2004-06-08 18:57:39.000000000 -0400 +++ linux-2.6.7-01-write_hang/fs/nfs/write.c 2004-06-08 22:05:13.000000000 -0400 @@ -311,11 +311,8 @@ do_it: lock_kernel(); if (!IS_SYNC(inode) && inode_referenced) { err = nfs_writepage_async(NULL, inode, page, 0, offset); - if (err >= 0) { + if (err > 0) err = 0; - if (wbc->for_reclaim) - err = WRITEPAGE_ACTIVATE; - } } else { err = nfs_writepage_sync(NULL, inode, page, 0, offset, priority); @@ -327,8 +324,7 @@ do_it: } unlock_kernel(); out: - if (err != WRITEPAGE_ACTIVATE) - unlock_page(page); + unlock_page(page); if (inode_referenced) iput(inode); return err;