1. 26 10月, 2010 16 次提交
  2. 10 8月, 2010 12 次提交
  3. 28 7月, 2010 2 次提交
  4. 19 7月, 2010 1 次提交
    • D
      mm: add context argument to shrinker callback · 7f8275d0
      Dave Chinner 提交于
      The current shrinker implementation requires the registered callback
      to have global state to work from. This makes it difficult to shrink
      caches that are not global (e.g. per-filesystem caches). Pass the shrinker
      structure to the callback so that users can embed the shrinker structure
      in the context the shrinker needs to operate on and get back to it in the
      callback via container_of().
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      7f8275d0
  5. 22 5月, 2010 2 次提交
  6. 12 4月, 2010 1 次提交
  7. 05 3月, 2010 2 次提交
    • C
      dquot: move dquot initialization responsibility into the filesystem · 907f4554
      Christoph Hellwig 提交于
      Currently various places in the VFS call vfs_dq_init directly.  This means
      we tie the quota code into the VFS.  Get rid of that and make the
      filesystem responsible for the initialization.   For most metadata operations
      this is a straight forward move into the methods, but for truncate and
      open it's a bit more complicated.
      
      For truncate we currently only call vfs_dq_init for the sys_truncate case
      because open already takes care of it for ftruncate and open(O_TRUNC) - the
      new code causes an additional vfs_dq_init for those which is harmless.
      
      For open the initialization is moved from do_filp_open into the open method,
      which means it happens slightly earlier now, and only for regular files.
      The latter is fine because we don't need to initialize it for operations
      on special files, and we already do it as part of the namespace operations
      for directories.
      
      Add a dquot_file_open helper that filesystems that support generic quotas
      can use to fill in ->open.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      907f4554
    • C
      dquot: move dquot drop responsibility into the filesystem · 257ba15c
      Christoph Hellwig 提交于
      Currently clear_inode calls vfs_dq_drop directly.  This means
      we tie the quota code into the VFS.  Get rid of that and make the
      filesystem responsible for the drop inside the ->clear_inode
      superblock operation.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJan Kara <jack@suse.cz>
      257ba15c
  8. 18 12月, 2009 1 次提交
  9. 25 10月, 2009 1 次提交
  10. 24 9月, 2009 2 次提交
    • A
      vfs: optimize touch_time() too · ce06e0b2
      Andi Kleen 提交于
      Do a similar optimization as earlier for touch_atime.  Getting the lock in
      mnt_get_write is relatively costly, so try all avenues to avoid it first.
      
      This patch is careful to still only update inode fields inside the lock
      region.
      
      This didn't show up in benchmarks, but it's easy enough to do.
      
      [akpm@linux-foundation.org: fix typo in comment]
      [hugh.dickins@tiscali.co.uk: fix inverted test of mnt_want_write_file()]
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Valerie Aurora <vaurora@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Signed-off-by: NHugh Dickins <hugh.dickins@tiscali.co.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ce06e0b2
    • A
      vfs: optimization for touch_atime() · b12536c2
      Andi Kleen 提交于
      Some benchmark testing shows touch_atime to be high up in profile logs for
      IO intensive workloads.  Most likely that's due to the lock in
      mnt_want_write().  Unfortunately touch_atime first takes the lock, and
      then does all the other tests that could avoid atime updates (like noatime
      or relatime).
      
      Do it the other way round -- first try to avoid the update and only then
      if that didn't succeed take the lock.  That works because none of the
      atime avoidance tests rely on locking.
      
      This also eliminates a goto.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Reviewed-by: NValerie Aurora <vaurora@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b12536c2