I've split the issues introduced by the 2.6.21-rcX write code up into 4 subproblems.
The first patch is just a cleanup in order to ease review. Patch number 2 ensures that we never release the PG_writeback flag until _after_ we've either discarded the unstable request altogether, or put it on the nfs_inode's commit or dirty lists. Patch number 3 fixes the 'desynchronized value of nfs_i.ncommit' error. It uses the PG_NEED_COMMIT flag as an indicator for whether or not the request may be redirtied. Patch number 4 protects the NFS '.set_page_dirty' address_space operation against races with nfs_inode_add_request. Finally, patch number 5 fixes an issue with the RPC code that is supposed ensure that NFSv4 disconnects before resending a request. The current code will disconnect for every request it resends (and has a bunch of false positive cases), instead of just ensuring that it disconnects once every time a timeout or a garbage reply occurs. My thanks to the various patient victim^Wpeople who helped with extensive testing. Cheers Trond - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/