1. 22 Nov, 2006 1 commit
    • David Howells's avatar
      WorkStruct: Separate delayable and non-delayable events. · 52bad64d
      David Howells authored
      
      Separate delayable work items from non-delayable work items be splitting them
      into a separate structure (delayed_work), which incorporates a work_struct and
      the timer_list removed from work_struct.
      
      The work_struct struct is huge, and this limits it's usefulness.  On a 64-bit
      architecture it's nearly 100 bytes in size.  This reduces that by half for the
      non-delayable type of event.
      Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
      52bad64d
  2. 04 Oct, 2006 1 commit
  3. 27 Sep, 2006 1 commit
  4. 23 Sep, 2006 3 commits
    • David Howells's avatar
      NFS: Share NFS superblocks per-protocol per-server per-FSID · 54ceac45
      David Howells authored
      The attached patch makes NFS share superblocks between mounts from the same
      server and FSID over the same protocol.
      
      It does this by creating each superblock with a false root and returning the
      real root dentry in the vfsmount presented by get_sb(). The root dentry set
      starts off as an anonymous dentry if we don't already have the dentry for its
      inode, otherwise it simply returns the dentry we already have.
      
      We may thus end up with several trees of dentries in the superblock, and if at
      some later point one of anonymous tree roots is discovered by normal filesystem
      activity to be located in another tree within the superblock, the anonymous
      root is named and materialises attached to the second tree at the appropriate
      point.
      
      Why do it this way? Why not pass an extra argument to the mount() syscall to
      indicate the subpath and then pathwalk from the server root to the desired
      directory? You can't guarantee this will work for two reasons:
      
       (1) The ro...
      54ceac45
    • David Howells's avatar
      NFS: Move rpc_ops from nfs_server to nfs_client · 8fa5c000
      David Howells authored
      
      Move the rpc_ops from the nfs_server struct to the nfs_client struct as they're
      common to all server records of a particular NFS protocol version.
      Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      8fa5c000
    • David Howells's avatar
      NFS: Add extra const qualifiers · 509de811
      David Howells authored
      
      Add some extra const qualifiers into NFS.
      Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      509de811
  5. 03 Aug, 2006 1 commit
  6. 09 Jun, 2006 4 commits
    • David Howells's avatar
      NFS: Split fs/nfs/inode.c · f7b422b1
      David Howells authored
      As fs/nfs/inode.c is rather large, heterogenous and unwieldy, the attached
      patch splits it up into a number of files:
      
       (*) fs/nfs/inode.c
      
           Strictly inode specific functions.
      
       (*) fs/nfs/super.c
      
           Superblock management functions for NFS and NFS4, normal access, clones
           and referrals.  The NFS4 superblock functions _could_ move out into a
           separate conditionally compiled file, but it's probably not worth it as
           there're so many common bits.
      
       (*) fs/nfs/namespace.c
      
           Some namespace-specific functions have been moved here.
      
       (*) fs/nfs/nfs4namespace.c
      
           NFS4-specific namespace functions (this could be merged into the previous
           file).  This file is conditionally compiled.
      
       (*) fs/nfs/internal.h
      
           Inter-file declarations, plus a few simple utility functions moved from
           fs/nfs/inode.c.
      
           Additionally, all the in-.c-file externs have been moved here, and those
           files they were moved from now includes this file.
      
      For the most part, the ...
      f7b422b1
    • Manoj Naik's avatar
      NFSv4: Follow a referral · 6b97fd3d
      Manoj Naik authored
      
      Respond to a moved error on NFS lookup by setting up the referral.
      Note: We don't actually follow the referral during lookup/getattr, but
      later when we detect fsid mismatch in inode revalidation (similar to the
      processing done for cloning submounts). Referrals will have fake attributes
      until they are actually followed or traversed.
      Signed-off-by: default avatarManoj Naik <manoj@almaden.ibm.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      6b97fd3d
    • Trond Myklebust's avatar
      NFS: Add timeout to submounts · 51d8fa6a
      Trond Myklebust authored
      
      Make automounted partitions expire using the mark_mounts_for_expiry()
      function. The timeout is controlled via a sysctl.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      51d8fa6a
    • Trond Myklebust's avatar