1. 07 1月, 2006 2 次提交
    • C
      NFS: support large reads and writes on the wire · 40859d7e
      Chuck Lever 提交于
       Most NFS server implementations allow up to 64KB reads and writes on the
       wire.  The Solaris NFS server allows up to a megabyte, for instance.
      
       Now the Linux NFS client supports transfer sizes up to 1MB, too.  This will
       help reduce protocol and context switch overhead on read/write intensive NFS
       workloads, and support larger atomic read and write operations on servers
       that support them.
      
       Test-plan:
       Connectathon and iozone on mount point with wsize=rsize>32768 over TCP.
       Tests with NFS over UDP to verify the maximum RPC payload size cap.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      40859d7e
    • T
      RPC: Clean up RPC task structure · 963d8fe5
      Trond Myklebust 提交于
       Shrink the RPC task structure. Instead of storing separate pointers
       for task->tk_exit and task->tk_release, put them in a structure.
      
       Also pass the user data pointer as a parameter instead of passing it via
       task->tk_calldata. This enables us to nest callbacks.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      963d8fe5
  2. 20 12月, 2005 1 次提交
  3. 05 11月, 2005 1 次提交
    • T
      NFSv4: Fix problem with OPEN_DOWNGRADE · d530838b
      Trond Myklebust 提交于
       RFC 3530 states that for OPEN_DOWNGRADE "The share_access and share_deny
       bits specified must be exactly equal to the union of the share_access and
       share_deny bits specified for some subset of the OPENs in effect for
       current openowner on the current file.
      
       Setattr is currently violating the NFSv4 rules for OPEN_DOWNGRADE in that
       it may cause a downgrade from OPEN4_SHARE_ACCESS_BOTH to
       OPEN4_SHARE_ACCESS_WRITE despite the fact that there exists no open file
       with O_WRONLY access mode.
      
       Fix the problem by replacing nfs4_find_state() with a modified version of
       nfs_find_open_context().
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      d530838b
  4. 28 10月, 2005 4 次提交
  5. 24 9月, 2005 1 次提交
  6. 19 8月, 2005 3 次提交
    • C
      [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi · dc59250c
      Chuck Lever 提交于
      Down the road we want to eliminate the use of the global kernel lock entirely
      from the NFS client.  To do this, we need to protect the fields in the
      nfs_inode structure adequately.  Start by serializing updates to the
      "cache_validity" field.
      
      Note this change addresses an SMP hang found by njw@osdl.org, where processes
      deadlock because nfs_end_data_update and nfs_revalidate_mapping update the
      "cache_validity" field without proper serialization.
      
      Test plan:
       Millions of fsx ops on SMP clients.  Run Nick Wilson's breaknfs program on
       large SMP clients.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      dc59250c
    • C
      [PATCH] NFS: use atomic bitops to manipulate flags in nfsi->flags · 412d582e
      Chuck Lever 提交于
      Introduce atomic bitops to manipulate the bits in the nfs_inode structure's
      "flags" field.
      
      Using bitops means we can use a generic wait_on_bit call instead of an ad hoc
      locking scheme in fs/nfs/inode.c, so we can remove the "nfs_i_wait" field from
      nfs_inode at the same time.
      
      The other new flags field will continue to use bitmask and logic AND and OR.
      This permits several flags to be set at the same time efficiently.  The
      following patch adds a spin lock to protect these flags, and this spin lock
      will later cover other fields in the nfs_inode structure, amortizing the cost
      of using this type of serialization.
      
      Test plan:
       Millions of fsx ops on SMP clients.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      412d582e
    • C
      [PATCH] NFS: split nfsi->flags into two fields · 55296809
      Chuck Lever 提交于
      Certain bits in nfsi->flags can be manipulated with atomic bitops, and some
      are better manipulated via logical bitmask operations.
      
      This patch splits the flags field into two.  The next patch introduces atomic
      bitops for one of the fields.
      
      Test plan:
       Millions of fsx ops on SMP clients.
      Signed-off-by: NChuck Lever <cel@netapp.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      55296809
  7. 17 8月, 2005 1 次提交
  8. 23 6月, 2005 14 次提交
  9. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4