On Tue, Jan 06, 2009 at 02:32:56PM -0500, Christoph Hellwig wrote: > 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. We need an immediate fix for the regression--nfsd (all versions) just doesn't work at all in mainline right now. My apologies for not having seen that earlier. A more complete solution is going to take more than a day or two. --b. -- 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