diff options
author | Steve Dickson <steved@redhat.com> | 2018-05-22 12:41:59 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2018-05-28 17:57:36 +0200 |
commit | 77440bd389425a9a79265f52783e6d39535f199f (patch) | |
tree | d462d57a7b4efb57db57a73e5d63562e224fca47 /quotasys.c | |
parent | a92dcf5a6cc49660d75a67966b0eb093b88e3b4c (diff) |
Listen on a TCP socket
rpc.rquotad spins in libtirpc's rendezvous_request() on accepting TCP
connections because the polled TCP socket is not listening:
poll([{fd=4, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=5,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=6,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=7,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 4, -1) = 2 ([{fd=5,
revents=POLLHUP}, {fd=7, revents=POLLHUP}])
accept(5, 0x7ffe61698700, [128]) = -1 EINVAL (Invalid argument)
accept(7, 0x7ffe61698700, [128]) = -1 EINVAL (Invalid argument)
The polled descriptors are:
rpc.rquot 21981 root 4u IPv4 80449159 0t0 UDP *:rquotad
rpc.rquot 21981 root 5u sock 0,9 0t0 80449162 protocol: TCP
rpc.rquot 21981 root 6u IPv6 80449165 0t0 UDP *:rquotad
rpc.rquot 21981 root 7u sock 0,9 0t0 80449168 protocol: TCPv6
That results into a high CPU usage just after staring rpc.rquotad
process.
This patch adds a listen() call to svc_create_sock()
routine which is needed with libtirpc version of svc_tli_create()
as well as a needed IPv6 setsockopt().
Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'quotasys.c')
0 files changed, 0 insertions, 0 deletions