Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'nfsd-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux

Pull nfsd fix from Chuck Lever:

- Address a deadlock regression in RELEASE_LOCKOWNER

* tag 'nfsd-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
nfsd: don't take fi_lock in nfsd_break_deleg_cb()

+5 -6
+5 -6
fs/nfsd/nfs4state.c
··· 4945 4945 */ 4946 4946 fl->fl_break_time = 0; 4947 4947 4948 - spin_lock(&fp->fi_lock); 4949 4948 fp->fi_had_conflict = true; 4950 4949 nfsd_break_one_deleg(dp); 4951 - spin_unlock(&fp->fi_lock); 4952 4950 return false; 4953 4951 } 4954 4952 ··· 5555 5557 if (status) 5556 5558 goto out_unlock; 5557 5559 5560 + status = -EAGAIN; 5561 + if (fp->fi_had_conflict) 5562 + goto out_unlock; 5563 + 5558 5564 spin_lock(&state_lock); 5559 5565 spin_lock(&fp->fi_lock); 5560 - if (fp->fi_had_conflict) 5561 - status = -EAGAIN; 5562 - else 5563 - status = hash_delegation_locked(dp, fp); 5566 + status = hash_delegation_locked(dp, fp); 5564 5567 spin_unlock(&fp->fi_lock); 5565 5568 spin_unlock(&state_lock); 5566 5569