1. 28 4月, 2009 14 次提交
  2. 22 4月, 2009 2 次提交
    • A
      hugetlbfs: return negative error code for bad mount option · c12ddba0
      Akinobu Mita 提交于
      This fixes the following BUG:
      
        # mount -o size=MM -t hugetlbfs none /huge
        hugetlbfs: Bad value 'MM' for mount option 'size=MM'
        ------------[ cut here ]------------
        kernel BUG at fs/super.c:996!
      
      Due to
      
      	BUG_ON(!mnt->mnt_sb);
      
      in vfs_kern_mount().
      
      Also, remove unused #include <linux/quotaops.h>
      
      Cc: William Irwin <wli@holomorphy.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c12ddba0
    • C
      Btrfs: fix btrfs fallocate oops and deadlock · 546888da
      Chris Mason 提交于
      Btrfs fallocate was incorrectly starting a transaction with a lock held
      on the extent_io tree for the file, which could deadlock.  Strictly
      speaking it was using join_transaction which would be safe, but it is better
      to move the transaction outside of the lock.
      
      When preallocated extents are overwritten, btrfs_mark_buffer_dirty was
      being called on an unlocked buffer.  This was triggering an assertion and
      oops because the lock is supposed to be held.
      
      The bug was calling btrfs_mark_buffer_dirty on a leaf after btrfs_del_item had
      been run.  btrfs_del_item takes care of dirtying things, so the solution is a
      to skip the btrfs_mark_buffer_dirty call in this case.
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      546888da
  3. 21 4月, 2009 22 次提交
  4. 20 4月, 2009 2 次提交