On Tue, Jan 06, 2009 at 02:23:01PM -0500, J. Bruce Fields wrote: > On Tue, Jan 06, 2009 at 12:58:29PM -0500, bfields wrote: > > No, then we just run into a deadlocks in unlink, create, or any of the > > other nfsd operations that want the parent lock to cover more than just > > the sync. So 4c728ef583b3d just doesn't work for nfsd. > > We could add another nfsd exception to vfs_sync() by taking the i_mutex > only in the "file != NULL" case. Perhaps there'd be some advantage to > having nfsd's peculiarity noted in the common code; I don't have > terifically strong feelings either way. > > However I'm inclined to think that at that point the special cases get > out of hand and that it would be better to keep this back in the nfsd > code itself. The following (tested this time) seems to work. Sorry, this is not going to do it. i_mutex is going to move into ->fsync soon unless we kill it entirely pretty soon. And for the cases of stckable filesystems what you do (aswell as the <= 2.6.28 case) is broken, as the NFS locking scheme can't apply to the lower stacked filesystem. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html