1. 23 12月, 2016 2 次提交
  2. 19 12月, 2016 1 次提交
    • J
      quota: Fix bogus warning in dquot_disable() · 2700e606
      Jan Kara 提交于
      dquot_disable() was warning when sb_has_quota_loaded() was true when
      invalidating page cache for quota files. The thinking behind this
      warning was that we must have raced with somebody else turning quotas on
      and this should not happen because all places modifying quota state must
      hold s_umount exclusively now. However sb_has_quota_loaded() can be also
      true at this point when we are just suspending quotas on remount
      read-only. Just restore the behavior to situation before commit
      c3b00446 ("quota: Remove dqonoff_mutex") which introduced the
      warning.
      
      The code in dquot_disable() can be further simplified with the new
      locking of quota state changes however let's leave that to a separate
      commit that can get more testing exposure.
      
      Fixes: c3b00446Signed-off-by: NJan Kara <jack@suse.cz>
      2700e606
  3. 16 12月, 2016 35 次提交
  4. 15 12月, 2016 2 次提交
    • C
      logfs: remove from tree · 1d0fd57a
      Christoph Hellwig 提交于
      Logfs was introduced to the kernel in 2009, and hasn't seen any non
      drive-by changes since 2012, while having lots of unsolved issues
      including the complete lack of error handling, with more and more
      issues popping up without any fixes.
      
      The logfs.org domain has been bouncing from a mail, and the maintainer
      on the non-logfs.org domain hasn't repsonded to past queries either.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1d0fd57a
    • M
      radix-tree: improve multiorder iterators · 148deab2
      Matthew Wilcox 提交于
      This fixes several interlinked problems with the iterators in the
      presence of multiorder entries.
      
      1. radix_tree_iter_next() would only advance by one slot, which would
         result in the iterators returning the same entry more than once if
         there were sibling entries.
      
      2. radix_tree_next_slot() could return an internal pointer instead of
         a user pointer if a tagged multiorder entry was immediately followed by
         an entry of lower order.
      
      3. radix_tree_next_slot() expanded to a lot more code than it used to
         when multiorder support was compiled in.  And I wasn't comfortable with
         entry_to_node() being in a header file.
      
      Fixing radix_tree_iter_next() for the presence of sibling entries
      necessarily involves examining the contents of the radix tree, so we now
      need to pass 'slot' to radix_tree_iter_next(), and we need to change the
      calling convention so it is called *before* dropping the lock which
      protects the tree.  Also rename it to radix_tree_iter_resume(), as some
      people thought it was necessary to call radix_tree_iter_next() each time
      around the loop.
      
      radix_tree_next_slot() becomes closer to how it looked before multiorder
      support was introduced.  It only checks to see if the next entry in the
      chunk is a sibling entry or a pointer to a node; this should be rare
      enough that handling this case out of line is not a performance impact
      (and such impact is amortised by the fact that the entry we just
      processed was a multiorder entry).  Also, radix_tree_next_slot() used to
      force a new chunk lookup for untagged entries, which is more expensive
      than the out of line sibling entry skipping.
      
      Link: http://lkml.kernel.org/r/1480369871-5271-55-git-send-email-mawilcox@linuxonhyperv.comSigned-off-by: NMatthew Wilcox <mawilcox@microsoft.com>
      Tested-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Konstantin Khlebnikov <koct9i@gmail.com>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Cc: Matthew Wilcox <mawilcox@microsoft.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      148deab2