1. 23 9月, 2006 1 次提交
    • D
      NFS: Generalise the nfs_client structure · 24c8dbbb
      David Howells 提交于
      Generalise the nfs_client structure by:
      
       (1) Moving nfs_client to a more general place (nfs_fs_sb.h).
      
       (2) Renaming its maintenance routines to be non-NFS4 specific.
      
       (3) Move those maintenance routines to a new non-NFS4 specific file (client.c)
           and move the declarations to internal.h.
      
       (4) Make nfs_find/get_client() take a full sockaddr_in to include the port
           number (will be required for NFS2/3).
      
       (5) Make nfs_find/get_client() take the NFS protocol version (again will be
           required to differentiate NFS2, 3 & 4 client records).
      
      Also:
      
       (6) Make nfs_client construction proceed akin to inodes, marking them as under
           construction and providing a function to indicate completion.
      
       (7) Make nfs_get_client() wait interruptibly if it finds a client that it can
           share, but that client is currently being constructed.
      
       (8) Make nfs4_create_client() use (6) and (7) instead of locking cl_sem.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      24c8dbbb