1. 22 1月, 2009 11 次提交
  2. 07 1月, 2009 1 次提交
  3. 06 1月, 2009 4 次提交
  4. 05 1月, 2009 1 次提交
  5. 01 1月, 2009 1 次提交
  6. 30 10月, 2008 1 次提交
    • C
      Btrfs: Add zlib compression support · c8b97818
      Chris Mason 提交于
      This is a large change for adding compression on reading and writing,
      both for inline and regular extents.  It does some fairly large
      surgery to the writeback paths.
      
      Compression is off by default and enabled by mount -o compress.  Even
      when the -o compress mount option is not used, it is possible to read
      compressed extents off the disk.
      
      If compression for a given set of pages fails to make them smaller, the
      file is flagged to avoid future compression attempts later.
      
      * While finding delalloc extents, the pages are locked before being sent down
      to the delalloc handler.  This allows the delalloc handler to do complex things
      such as cleaning the pages, marking them writeback and starting IO on their
      behalf.
      
      * Inline extents are inserted at delalloc time now.  This allows us to compress
      the data before inserting the inline extent, and it allows us to insert
      an inline extent that spans multiple pages.
      
      * All of the in-memory extent representations (extent_map.c, ordered-data.c etc)
      are changed to record both an in-memory size and an on disk size, as well
      as a flag for compression.
      
      From a disk format point of view, the extent pointers in the file are changed
      to record the on disk size of a given extent and some encoding flags.
      Space in the disk format is allocated for compression encoding, as well
      as encryption and a generic 'other' field.  Neither the encryption or the
      'other' field are currently used.
      
      In order to limit the amount of data read for a single random read in the
      file, the size of a compressed extent is limited to 128k.  This is a
      software only limit, the disk format supports u64 sized compressed extents.
      
      In order to limit the ram consumed while processing extents, the uncompressed
      size of a compressed extent is limited to 256k.  This is a software only limit
      and will be subject to tuning later.
      
      Checksumming is still done on compressed extents, and it is done on the
      uncompressed version of the data.  This way additional encodings can be
      layered on without having to figure out which encoding to checksum.
      
      Compression happens at delalloc time, which is basically singled threaded because
      it is usually done by a single pdflush thread.  This makes it tricky to
      spread the compression load across all the cpus on the box.  We'll have to
      look at parallel pdflush walks of dirty inodes at a later time.
      
      Decompression is hooked into readpages and it does spread across CPUs nicely.
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      c8b97818
  7. 23 10月, 2008 1 次提交
    • A
      [patch 1/3] FS_MBCACHE: don't needlessly make it built-in · 2c512397
      Adrian Bunk 提交于
      Assume you have:
      - one or more of ext2/3/4 statically built into your kernel
      - none of these with extended attributes enabled and
      - want to add onother one of ext2/3/4 modular and with
        extended attributes enabled
      
      then you currently have to reboot to use it since this results in
      CONFIG_FS_MBCACHE=y.
      
      That's not a common issue, but I just ran into it and since there's no
      reason to get a built-in mbcache in this case this patch fixes it.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Cc: Andreas Gruenbacher <agruen@suse.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      2c512397
  8. 21 10月, 2008 1 次提交
  9. 20 10月, 2008 1 次提交
  10. 16 10月, 2008 1 次提交
  11. 14 10月, 2008 1 次提交
    • J
      ocfs2: Switch over to JBD2. · 2b4e30fb
      Joel Becker 提交于
      ocfs2 wants JBD2 for many reasons, not the least of which is that JBD is
      limiting our maximum filesystem size.
      
      It's a pretty trivial change.  Most functions are just renamed.  The
      only functional change is moving to Jan's inode-based ordered data mode.
      It's better, too.
      
      Because JBD2 reads and writes JBD journals, this is compatible with any
      existing filesystem.  It can even interact with JBD-based ocfs2 as long
      as the journal is formated for JBD.
      
      We provide a compatibility option so that paranoid people can still use
      JBD for the time being.  This will go away shortly.
      
      [ Moved call of ocfs2_begin_ordered_truncate() from ocfs2_delete_inode() to
        ocfs2_truncate_for_delete(). --Mark ]
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      Signed-off-by: NMark Fasheh <mfasheh@suse.com>
      2b4e30fb
  12. 13 10月, 2008 2 次提交
  13. 11 10月, 2008 1 次提交
  14. 30 9月, 2008 2 次提交
    • C
      SUNRPC: Support IPv6 when registering kernel RPC services · a26cfad6
      Chuck Lever 提交于
      In order to advertise NFS-related services on IPv6 interfaces via
      rpcbind, the kernel RPC server implementation must use
      rpcb_v4_register() instead of rpcb_register().
      
      A new kernel build option allows distributions to use the legacy
      v2 call until they integrate an appropriate user-space rpcbind
      daemon that can support IPv6 RPC services.
      
      I tried adding some automatic logic to fall back if registering
      with a v4 protocol request failed, but there are too many corner
      cases.  So I just made it a compile-time switch that distributions
      can throw when they've replaced portmapper with rpcbind.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      a26cfad6
    • T
      Configure out file locking features · bfcd17a6
      Thomas Petazzoni 提交于
      This patch adds the CONFIG_FILE_LOCKING option which allows to remove
      support for advisory locks. With this patch enabled, the flock()
      system call, the F_GETLK, F_SETLK and F_SETLKW operations of fcntl()
      and NFS support are disabled. These features are not necessarly needed
      on embedded systems. It allows to save ~11 Kb of kernel code and data:
      
         text          data     bss     dec     hex filename
      1125436        118764  212992 1457192  163c28 vmlinux.old
      1114299        118564  212992 1445855  160fdf vmlinux
       -11137    -200       0  -11337   -2C49 +/-
      
      This patch has originally been written by Matt Mackall
      <mpm@selenic.com>, and is part of the Linux Tiny project.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NMatt Mackall <mpm@selenic.com>
      Cc: matthew@wil.cx
      Cc: linux-fsdevel@vger.kernel.org
      Cc: mpm@selenic.com
      Cc: akpm@linux-foundation.org
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      bfcd17a6
  15. 26 9月, 2008 1 次提交
  16. 01 9月, 2008 1 次提交
  17. 27 8月, 2008 2 次提交
  18. 20 8月, 2008 1 次提交
  19. 27 7月, 2008 1 次提交
  20. 26 7月, 2008 2 次提交
  21. 15 7月, 2008 2 次提交
  22. 10 7月, 2008 1 次提交
    • C
      SUNRPC: Use only rpcbind v2 for AF_INET requests · 40fef8a6
      Chuck Lever 提交于
      Some server vendors support the higher versions of rpcbind only for
      AF_INET6.  The kernel doesn't need to use v3 or v4 for AF_INET anyway,
      so change the kernel's rpcbind client to query AF_INET servers over
      rpcbind v2 only.
      
      This has a few interesting benefits:
      
      1. If the rpcbind request is going over TCP, and the server doesn't
         support rpcbind versions 3 or 4, the client reduces by two the number
         of ephemeral ports left in TIME_WAIT for each rpcbind request.  This
         will help during NFS mount storms.
      
      2. The rpcbind interaction with servers that don't support rpcbind
         versions 3 or 4 will use less network traffic.  Also helpful
         during mount storms.
      
      3. We can eliminate the kernel build option that controls whether the
         kernel's rpcbind client uses rpcbind version 3 and 4 for AF_INET
         servers.  Less complicated kernel configuration...
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      40fef8a6