[Bug 859342] NFS file locking issue
https://bugzilla.novell.com/show_bug.cgi?id=859342 https://bugzilla.novell.com/show_bug.cgi?id=859342#c4 --- Comment #4 from Olaf Kirch <okir@suse.com> 2014-01-18 10:09:48 UTC --- The problem seems to be here: static void nlmsvc_grant_blocked(struct nlm_block *block) { struct nlm_file *file = block->b_file; struct nlm_lock *lock = &block->b_call->a_args.lock; int error; [...] /* Try the lock operation again */ lock->fl.fl_flags |= FL_SLEEP; error = vfs_lock_file(file->f_file, F_SETLK, &lock->fl, NULL); lock->fl.fl_flags &= ~FL_SLEEP; If the same lock holder owns an adjacent lock already, the &lock->fl argument to vfs_lock_file will be updated to show the entire range that has been locked. [...] error = nlm_async_call(block->b_call, NLMPROC_GRANTED_MSG, &nlmsvc_grant_ops); And here, the lock structure we just modified will be used as an argument to the GRANTED_MSG call. The proper fix for this is probably to pass a copy of b_call->a_args.lock into vfs_lock_file, rather than a pointer to the structure itself. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com