1. 16 6月, 2015 2 次提交
  2. 09 8月, 2014 2 次提交
  3. 07 6月, 2014 1 次提交
    • F
      ufs: sb mutex merge + mutex_destroy · 0244756e
      Fabian Frederick 提交于
      Commit 788257d6 ("ufs: remove the BKL") replaced BKL with mutex
      protection using functions lock_ufs, unlock_ufs and struct mutex 'mutex'
      in sb_info.
      
      Commit b6963327 ("ufs: drop lock/unlock super") removed lock/unlock
      super and added struct mutex 's_lock' in sb_info.
      
      Those 2 mutexes are generally locked/unlocked at the same time except in
      allocation (balloc, ialloc).
      
      This patch merges the 2 mutexes and propagates first commit solution.
      It also adds mutex destruction before kfree during ufs_fill_super
      failure and ufs_put_super.
      
      [akpm@linux-foundation.org: avoid ifdefs, return -EROFS not -EINVAL]
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Evgeniy Dushistov <dushistov@mail.ru>
      Cc: "Chen, Jet" <jet.chen@intel.com>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0244756e
  4. 10 10月, 2012 1 次提交
  5. 23 7月, 2012 1 次提交
    • A
      fs/ufs: get rid of write_super · 9e9ad5f4
      Artem Bityutskiy 提交于
      This patch makes UFS stop using the VFS '->write_super()' method along with
      the 's_dirt' superblock flag, because they are on their way out.
      
      The way we implement this is that we schedule a delay job instead relying on
      's_dirt' and '->write_super()'.
      
      The whole "superblock write-out" VFS infrastructure is served by the
      'sync_supers()' kernel thread, which wakes up every 5 (by default) seconds and
      writes out all dirty superblocks using the '->write_super()' call-back.  But the
      problem with this thread is that it wastes power by waking up the system every
      5 seconds, even if there are no diry superblocks, or there are no client
      file-systems which would need this (e.g., btrfs does not use
      '->write_super()'). So we want to kill it completely and thus, we need to make
      file-systems to stop using the '->write_super()' VFS service, and then remove
      it together with the kernel thread.
      
      Tested using fsstress from the LTP project.
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      9e9ad5f4
  6. 04 1月, 2012 1 次提交
  7. 01 11月, 2011 1 次提交
  8. 03 3月, 2011 1 次提交
    • A
      ufs: remove the BKL · 788257d6
      Arnd Bergmann 提交于
      This introduces a new per-superblock mutex in UFS to replace
      the big kernel lock. I have been careful to avoid nested
      calls to lock_ufs and to get the lock order right with
      respect to other mutexes, in particular lock_super.
      
      I did not make any attempt to prove that the big kernel
      lock is not needed in a particular place in the code,
      which is very possible.
      
      The mutex has a significant performance impact, so it is only
      used on SMP or PREEMPT configurations.
      
      As Nick Piggin noticed, any allocation inside of the lock
      may end up deadlocking when we get to ufs_getfrag_block
      in the reclaim task, so we now use GFP_NOFS.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Tested-by: NNick Bowler <nbowler@elliptictech.com>
      Cc: Evgeniy Dushistov <dushistov@mail.ru>
      Cc: Nick Piggin <npiggin@gmail.com>
      788257d6
  9. 10 8月, 2010 1 次提交
  10. 22 5月, 2010 1 次提交
  11. 06 3月, 2010 1 次提交
  12. 04 3月, 2010 1 次提交
  13. 16 12月, 2009 1 次提交
  14. 12 6月, 2009 1 次提交
  15. 09 5月, 2009 1 次提交
  16. 28 3月, 2009 1 次提交
    • D
      ufs: don't truncate longer ufs2 fast symlinks · f33219b7
      Duane Griffin 提交于
      ufs2 fast symlinks can be twice as long as ufs ones, however the code
      was using the ufs size in various places. Fix that so ufs2 symlinks over
      60 characters aren't truncated.
      
      Note that we copy the entire area instead of using the maxsymlinklen field
      from the superblock. This way we will be more robust against corruption (of
      the superblock).
      
      While we are at it, use memcpy instead of open-coding it with for loops.
      Signed-off-by: NDuane Griffin <duaneg@dghda.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      f33219b7
  17. 13 5月, 2008 1 次提交
  18. 28 4月, 2008 1 次提交
  19. 08 2月, 2008 1 次提交
  20. 17 10月, 2007 1 次提交