1. 07 1月, 2006 1 次提交
    • N
      [PATCH] knfsd: fix hash function for IP addresses on 64bit little-endian machines. · 1f1e030b
      NeilBrown 提交于
      The hash.h hash_long function, when used on a 64 bit machine, ignores many
      of the middle-order bits.  (The prime chosen it too bit-sparse).
      
      IP addresses for clients of an NFS server are very likely to differ only in
      the low-order bits.  As addresses are stored in network-byte-order, these
      bits become middle-order bits in a little-endian 64bit 'long', and so do
      not contribute to the hash.  Thus you can have the situation where all
      clients appear on one hash chain.
      
      So, until hash_long is fixed (or maybe forever), us a hash function that
      works well on IP addresses - xor the bytes together.
      
      Thanks to "Iozone" <capps@iozone.org> for identifying this problem.
      
      Cc: "Iozone" <capps@iozone.org>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1f1e030b
  2. 08 9月, 2005 1 次提交
    • B
      [PATCH] sunrpc: cache_register can use wrong module reference · f35279d3
      Bruce Allan 提交于
      When registering an RPC cache, cache_register() always sets the owner as the
      sunrpc module.  However, there are RPC caches owned by other modules.  With
      the incorrect owner setting, the real owning module can be removed potentially
      with an open reference to the cache from userspace.
      
      For example, if one were to stop the nfs server and unmount the nfsd
      filesystem, the nfsd module could be removed eventhough rpc.idmapd had
      references to the idtoname and nametoid caches (i.e.
      /proc/net/rpc/nfs4.<cachename>/channel is still open).  This resulted in a
      system panic on one of our machines when attempting to restart the nfs
      services after reloading the nfsd module.
      
      The following patch adds a 'struct module *owner' field in struct
      cache_detail.  The owner is further assigned to the struct proc_dir_entry
      in cache_register() so that the module cannot be unloaded while user-space
      daemons have an open reference on the associated file under /proc.
      Signed-off-by: NBruce Allan <bwa@us.ibm.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: Neil Brown <neilb@cse.unsw.edu.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f35279d3
  3. 24 6月, 2005 1 次提交
  4. 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