I've noticed what seems to be a bug in the SMBfs page write code. It seems
that the code in generic_file_write has changed fairly recently, and
it is now a bug for the 'updatepage' code to clear the page lock and
serve the wait queue. Unfortunately nobody seems to have removed the
call to 'smb_unlock_page(page)' in 'smb_writepage_sync'.
Would people who've been seeing problems with the smbfs client in
2.2.1 please try the appended one-liner and see if it works?
BTW: The reason I noticed this bug is because I actually wanted to revert
to the old behaviour for the NFS write-clustering project. Since the
smbfs and NFS clients are the only filesystems to use
'generic_file_write', we might instead want to revert
NFS+generic_file_write?
Cheers,
Trond
--- linux-2.2.1/fs/smbfs/file.c Thu Nov 12 20:49:25 1998
+++ linux/fs/smbfs/file.c Sun Jan 31 11:18:02 1999
@@ -164,7 +164,6 @@
} while (count);
out:
- smb_unlock_page(page);
return written ? written : result;
io_error:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/