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

bugfix eliminated nfs v3 mount retries when autonegotiating

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • rhel-8.9.0.z
    • nfs-utils
    • sst_filesystems
    • ssg_filesystems_storage_and_HA
    • 1
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None

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

      Bugzilla 1709963 corrects the reported error during autonegotiation if nfs v4 fails as unsupported and nfs v3 also fails.

      However, the change also eliminated the 2-minute timeout period when nfs v3 also fails with ETIMEDOUT, since the nfs v4 result is now returned, and is a permanent error, rather than a temporary one.

      Please provide the package NVR for which bug is seen:

      nfs-utils beginning with 2.3.3-24.el8

      How reproducible:

      easy

      Steps to reproduce

      1. disable nfs v4 on server (edit /etc/nfs.conf and set the 'nfsd' vers4* options to 'n')
      2. restart nfs server: # systemctl restart nfs-server.service
      3. stop rpc.mountd:  # kill -s STOP $(pidof rpc.mountd)
      4. attempt mount with autonegotiation

      Expected results

      After the nfs v4 mounts fail with EPROTONOSUPPORT, the timing-out nfs v3 mount is re-attempted for up to the 2-minute timeout period:

      # time mount.nfs -vvvv server:/exports /mnt/tmp
      mount.nfs: timeout set for Mon Feb 26 15:04:30 2024
      mount.nfs: trying text-based options 'vers=4.1,addr=127.0.0.1,clientaddr=127.0.0.1'
      mount.nfs: mount(2): Protocol not supported
      mount.nfs: trying text-based options 'vers=4.0,addr=127.0.0.1,clientaddr=127.0.0.1'
      mount.nfs: mount(2): Protocol not supported
      mount.nfs: trying text-based options 'addr=127.0.0.1'
      mount.nfs: prog 100003, trying vers=3, prot=6
      mount.nfs: trying 127.0.0.1 prog 100003 vers 3 prot TCP port 2049
      mount.nfs: prog 100005, trying vers=3, prot=17
      mount.nfs: trying 127.0.0.1 prog 100005 vers 3 prot UDP port 20048
      mount.nfs: portmap query retrying: RPC: Timed out
      mount.nfs: prog 100005, trying vers=3, prot=6
      mount.nfs: trying 127.0.0.1 prog 100005 vers 3 prot TCP port 20048
      mount.nfs: portmap query failed: RPC: Timed out
      mount.nfs: Protocol not supported
      
      real    0m13.131s

      Actual results

      The timing-out nfs v3 mount is only attempted once, after which the EPROTONOSUPPORT result is used.

       # time mount.nfs -vvvv server:/exports /mnt/tmp
      mount.nfs: timeout set for Mon Feb 26 16:04:38 2024 
      mount.nfs: trying text-based options 'vers=4.1,addr=192.168.122.60,clientaddr=192.168.122.71' 
      mount.nfs: mount(2): Protocol not supported 
      mount.nfs: trying text-based options 'vers=4.0,addr=192.168.122.60,clientaddr=192.168.122.71' 
      mount.nfs: mount(2): Protocol not supported 
      mount.nfs: trying text-based options 'addr=192.168.122.60' 
      mount.nfs: prog 100003, trying vers=3, prot=6 
      mount.nfs: trying 192.168.122.60 prog 100003 vers 3 prot TCP port 2049 
      mount.nfs: prog 100005, trying vers=3, prot=17 
      mount.nfs: trying 192.168.122.60 prog 100005 vers 3 prot UDP port 20048 
      mount.nfs: portmap query retrying: RPC: Timed out 
      mount.nfs: prog 100005, trying vers=3, prot=6 
      mount.nfs: trying 192.168.122.60 prog 100005 vers 3 prot TCP port 20048 
      mount.nfs: portmap query failed: RPC: Timed out 
      mount.nfs: trying text-based options 'addr=192.168.122.60' 
      mount.nfs: prog 100003, trying vers=3, prot=6 
      mount.nfs: trying 192.168.122.60 prog 100003 vers 3 prot TCP port 2049 
      mount.nfs: prog 100005, trying vers=3, prot=17 
      mount.nfs: trying 192.168.122.60 prog 100005 vers 3 prot UDP port 20048 
      mount.nfs: portmap query retrying: RPC: Timed out
      ...
      mount.nfs: portmap query retrying: RPC: Timed out 
      mount.nfs: prog 100005, trying vers=3, prot=6 
      mount.nfs: trying 192.168.122.60 prog 100005 vers 3 prot TCP port 20048 
      mount.nfs: portmap query failed: RPC: Timed out 
      mount.nfs: Connection timed out
      
      real    2m10.411s

            stevedatrhn Steve Dickson
            rhn-support-fsorenso Frank Sorenson
            Steve Dickson Steve Dickson
            Yongcheng Yang Yongcheng Yang
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: