05 Apr, 2020

1 commit


04 Apr, 2020

3 commits


03 Apr, 2020

3 commits

  • Setting nfs_mountpoint_expiry_timeout() to a negative value stops
    mountpoint expiration, while setting it to a positive value restarts
    the scheduler.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • We must not return from nfs_d_automount() without holding 2 references
    to the mount record. Doing so, will trigger the BUG() in finish_automount().
    Also ensure that we don't try to reschedule the automount timer with
    a negative or zero timeout value.

    Fixes: 22a1ae9a93fb ("NFS: If nfs_mountpoint_expiry_timeout < 0, do not expire submounts")
    Cc: stable@vger.kernel.org # v5.5+
    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • nfs_vers_tokens, nfs_xprt_protocol_tokens, and nfs_secflavor_tokens were
    all missing an empty item at the end of the array, allowing
    lookup_constant() to potentially walk off the end and trigger and oops.

    Reported-by: Olga Kornievskaia
    Signed-off-by: Scott Mayhew
    Fixes: e38bb238ed8c ("NFS: Convert mount option parsing to use functionality from fs_parser.h")
    Cc: stable@vger.kernel.org # v5.6
    Signed-off-by: Trond Myklebust

    Scott Mayhew
     

02 Apr, 2020

9 commits


01 Apr, 2020

1 commit


29 Mar, 2020

1 commit


28 Mar, 2020

20 commits


27 Mar, 2020

2 commits

  • Change the rpcrdma_xprt_disconnect() function so that it no longer
    waits for the DISCONNECTED event. This prevents blocking if the
    remote is unresponsive.

    In rpcrdma_xprt_disconnect(), the transport's rpcrdma_ep is
    detached. Upon return from rpcrdma_xprt_disconnect(), the transport
    (r_xprt) is ready immediately for a new connection.

    The RDMA_CM_DEVICE_REMOVAL and RDMA_CM_DISCONNECTED events are now
    handled almost identically.

    However, because the lifetimes of rpcrdma_xprt structures and
    rpcrdma_ep structures are now independent, creating an rpcrdma_ep
    needs to take a module ref count. The ep now owns most of the
    hardware resources for a transport.

    Also, a kref is needed to ensure that rpcrdma_ep sticks around
    long enough for the cm_event_handler to finish.

    Signed-off-by: Chuck Lever
    Signed-off-by: Anna Schumaker

    Chuck Lever
     
  • rpcrdma_cm_event_handler() is always passed an @id pointer that is
    valid. However, in a subsequent patch, we won't be able to extract
    an r_xprt in every case. So instead of using the r_xprt's
    presentation address strings, extract them from struct rdma_cm_id.

    Signed-off-by: Chuck Lever
    Signed-off-by: Anna Schumaker

    Chuck Lever