1. 14 Jul, 2016 1 commit
    • Keith Busch's avatar
      nvme: Remove RCU namespace protection · 32f0c4af
      Keith Busch authored
      We can't sleep with RCU read lock held, but we need to do potentially
      blocking stuff to namespace queues when iterating the list. This patch
      removes the RCU locking and holds a mutex instead.
      
      To prevent deadlocks, this patch removes holding the mutex during
      namespace scanning and removal. The unlocked namespace scanning is made
      safe by holding a reference to the namespace being scanned.
      
      List iteration that does IO has to be unlocked to allow error recovery.
      The caller must ensure the list can not be manipulated during such an
      event, so this patch adds a comment explaining this requirement to the
      only function that iterates an unlocked list. All callers currently
      meet this requirement, so no further changes required.
      
      List iterations that do not do IO can safely use the lock since it couldn't
      block recovery from missing forced IO completions.
      
      Reported-by: Ming Lin <mlin at kernel.org>
      [fixes 0bf77e9d nvme: switch to RCU freeing the namespace]
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      32f0c4af
  2. 11 Jul, 2016 2 commits
    • Linus Torvalds's avatar
      Linux 4.7-rc7 · 92d21ac7
      Linus Torvalds authored
      92d21ac7
    • Hugh Dickins's avatar
      tmpfs: fix regression hang in fallocate undo · 7f556567
      Hugh Dickins authored
      The well-spotted fallocate undo fix is good in most cases, but not when
      fallocate failed on the very first page.  index 0 then passes lend -1
      to shmem_undo_range(), and that has two bad effects: (a) that it will
      undo every fallocation throughout the file, unrestricted by the current
      range; but more importantly (b) it can cause the undo to hang, because
      lend -1 is treated as truncation, which makes it keep on retrying until
      every page has gone, but those already fully instantiated will never go
      away.  Big thank you to xfstests generic/269 which demonstrates this.
      
      Fixes: b9b4bb26 ("tmpfs: don't undo fallocate past its last page")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7f556567
  3. 10 Jul, 2016 1 commit
  4. 09 Jul, 2016 1 commit
  5. 08 Jul, 2016 19 commits
  6. 07 Jul, 2016 11 commits
  7. 06 Jul, 2016 5 commits