Bug 1331540

Summary: multi-threaded rpc.gssd
Product: Red Hat Enterprise Linux 7 Reporter: Steve Dickson <steved>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED ERRATA QA Contact: Yongcheng Yang <yoyang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: eguan, fs-qe, yoyang
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nfs-utils-1.3.0-0.26.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 05:03:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Steve Dickson 2016-04-28 18:14:46 UTC
Description of problem:

Now that every NFS mount does an upcall to the
rpc.gssd daemon, when it is running, it is 
imperative that this daemon does hang. 
Especially during a mount storm when
the client reboots and does a large number 
NFS mounts at once.

Upstream has developed and multi-threaded 
rpc.gssd daemon that creates a thread for
every upcall which decrease the changes
of hangs dramatically

Comment 1 Steve Dickson 2016-04-29 13:34:24 UTC
Here is the upstream thread

http://www.spinics.net/lists/linux-nfs/msg57333.html

Comment 2 Steve Dickson 2016-04-29 14:52:01 UTC
The upstream commits:
commit 85c5c16d29d50c1f798d60e57641cd21cec2e905
Author: Olga Kornievskaia <kolga>
Date:   Thu Apr 28 16:51:54 2016 -0400

    gssd: always call gss_krb5_ccache_name


commit 792c2a597c770738cf5c4433724504a5fc4ff7f5
Author: Olga Kornievskaia <kolga>
Date:   Thu Apr 28 16:27:14 2016 -0400

    gssd: using syscalls directly to change thread's identity

commit 8c34e538ef7492fda87b640343996dd33a2fde1d
Author: Olga Kornievskaia <kolga>
Date:   Thu Apr 28 16:21:41 2016 -0400

    gssd: use pthreads to handle upcalls

Comment 5 Steve Dickson 2016-05-16 12:12:06 UTC
These upstream commits are also needed:

commit c5dbf414ddd2fe272ac7602cd182c73ebeb090b1
Author: Olga Kornievskaia <kolga>
Date:   Sat May 14 12:19:15 2016 -0400

    gssd: no longer needed pid logic

commit d9ba9eede533fed6dde146f891d5d596016b314b
Author: Olga Kornievskaia <kolga>
Date:   Sat May 14 12:13:29 2016 -0400

    gssd: move read of upcall into main thread

Comment 8 Yongcheng Yang 2016-09-09 06:58:18 UTC
Have checked the patches mentioned in comment 2 and comment 5 have all been merged. And all regression tests passed.

Mark as SanityOnly and move to VERIFIED.

Comment 10 errata-xmlrpc 2016-11-04 05:03:38 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2383.html