On Wed, Dec 17, 2008 at 03:01:56PM -0500, J. Bruce Fields wrote: > On Wed, Dec 17, 2008 at 01:14:53PM -0600, David Teigland wrote: > > Jeff suggested the following patch, which I've tried and it fixes the > > problem I was seeing. It passes the original, unmodified file_lock to > > notify(), instead of the copy which is passed to (and coalesced by) > > posix_lock_file(). I'm guessing this was reason for having a copy of the > > file_lock in the first place, but it was just not used correctly. > > Yep, that looks much better. Though actually I suspect what was really > intended was to use "flc" for the notifies, and "fl" for the > posix_lock_file(). > > Also, since flc is never actually handed to the posix lock system, I > think it should be a "shallow" lock copy--so it should be created with > __locks_copy_lock(). Something like the below? I left this hanging over the holidays and I'd like to get it wrapped up. In summary, I think the following is the correct fix: http://marc.info/?l=linux-nfs&m=122954145532438&w=2 (I'd like to do the s/locks_copy_lock/__locks_copy_lock/ in a separate patch since it's not directly related to fixing the bug.) Bruce suggested that perhaps my patch should swap "fl" and "flc", which I don't think is correct (and doesn't fix the problem in a test). Here's my complicated explanation of that: http://marc.info/?l=linux-nfs&m=122954948914263&w=2 Without any further feedback, I'll plan to send my patch soon for 2.6.29. Thanks, Dave -- 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