Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-124943

sunrpc: nfsd fails to respond when sunrpc pool mode is percpu

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Undefined Undefined
    • None
    • rhel-10.0.z
    • None
    • None
    • Low
    • rhel-fs
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      What were you trying to do that didn't work?

      When the sunrpc pool_mode is set to percpu, nfsd never responds to RPCs

      What is the impact of this issue to you?

      Prevents use of nfs server when pool_mode is percpu

      Please provide the package NVR for which the bug is seen:

      kernel 6.12.0-55.9.1.el10_0.x86_64 (all RHEL 10 kernels likely)

      How reproducible is this bug?:

      easy

      Steps to reproduce

      # systemctl stop nfs-server.service
      # echo percpu > /sys/module/sunrpc/parameters/pool_mode
      # systemctl start nfs-server.service
      # mount 127.0.0.1:/ /mnt
      

      Expected results

      nfs server responds and exports can be mounted

      Actual results

      nfsd never responds

      packet capture:

          1 0.000000000    127.0.0.1 → 127.0.0.1    TCP 76 965 → 2049 [SYN] Seq=0 Win=65495 Len=0 MSS=65495 SACK_PERM TSval=2469593584 TSecr=0 WS=128
          2 0.000033392    127.0.0.1 → 127.0.0.1    TCP 76 2049 → 965 [SYN, ACK] Seq=0 Ack=1 Win=65483 Len=0 MSS=65495 SACK_PERM TSval=2469593584 TSecr=2469593584 WS=128
          3 0.000072003    127.0.0.1 → 127.0.0.1    TCP 68 965 → 2049 [ACK] Seq=1 Ack=1 Win=65536 Len=0 TSval=2469593584 TSecr=2469593584
          4 0.000148705    127.0.0.1 → 127.0.0.1    NFS 112 V4 NULL Call
          5 0.000165384    127.0.0.1 → 127.0.0.1    TCP 68 2049 → 965 [ACK] Seq=1 Ack=45 Win=65536 Len=0 TSval=2469593584 TSecr=2469593584
          6 62.952160293    127.0.0.1 → 127.0.0.1    TCP 68 [TCP Keep-Alive] 965 → 2049 [ACK] Seq=44 Ack=1 Win=65536 Len=0 TSval=2469656536 TSecr=2469593584
          7 62.952227444    127.0.0.1 → 127.0.0.1    TCP 68 [TCP Keep-Alive ACK] 2049 → 965 [ACK] Seq=1 Ack=45 Win=65536 Len=0 TSval=2469656536 TSecr=2469593584
          8 62.952379818    127.0.0.1 → 127.0.0.1    NFS 112 [RPC retransmission of #4]V4 NULL Call
          9 62.952402400    127.0.0.1 → 127.0.0.1    TCP 68 2049 → 965 [ACK] Seq=1 Ack=89 Win=65536 Len=0 TSval=2469656536 TSecr=246965653
      

      rpcdebug for rpc and nfsd (when mounting from other host to eliminate nfs client functions):

      Oct 29 15:00:42 vm30 kernel: svc_pool_stats_start, *pidx=0
      Oct 29 15:00:42 vm30 kernel: svc_pool_stats_next, *pos=0
      Oct 29 15:00:42 vm30 kernel: svc_pool_stats_next, *pos=1
      Oct 29 15:00:42 vm30 kernel: svc_pool_stats_next, *pos=2
      Oct 29 15:00:42 vm30 kernel: svc_pool_stats_start, *pidx=3
      

      the sole ftrace event for sunrpc or nfsd:

                <idle>-0     [001] ..s2.  4830.612964: svc_xprt_enqueue:     server=0.0.0.0:2049 client= flags=BUSY|CONN|CHNGBUF|LISTENER|CACHE_AUTH|CONG_CTRL
      

              nfs-team-list NFS Team
              rhn-support-fsorenso Frank Sorenson
              NFS Team NFS Team
              Yongcheng Yang Yongcheng Yang
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: