1. 05 Apr, 2010 12 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · 795d580b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
        Btrfs: add check for changed leaves in setup_leaf_for_split
        Btrfs: create snapshot references in same commit as snapshot
        Btrfs: fix small race with delalloc flushing waitqueue's
        Btrfs: use add_to_page_cache_lru, use __page_cache_alloc
        Btrfs: fix chunk allocate size calculation
        Btrfs: kill max_extent mount option
        Btrfs: fail to mount if we have problems reading the block groups
        Btrfs: check btrfs_get_extent return for IS_ERR()
        Btrfs: handle kmalloc() failure in inode lookup ioctl
        Btrfs: dereferencing freed memory
        Btrfs: Simplify num_stripes's calculation logical for __btrfs_alloc_chunk()
        Btrfs: Add error handle for btrfs_search_slot() in btrfs_read_chunk_tree()
        Btrfs: Remove unnecessary finish_wait() in wait_current_trans()
        Btrfs: add NULL check for do_walk_down()
        Btrfs: remove duplicate include in ioctl.c
      
      Fix trivial conflict in fs/btrfs/compression.c due to slab.h include
      cleanups.
      795d580b
    • Eric Paris's avatar
      audit: preface audit printk with audit · 449cedf0
      Eric Paris authored
      There have been a number of reports of people seeing the message:
      "name_count maxed, losing inode data: dev=00:05, inode=3185"
      in dmesg.  These usually lead to people reporting problems to the filesystem
      group who are in turn clueless what they mean.
      
      Eventually someone finds me and I explain what is going on and that
      these come from the audit system.  The basics of the problem is that the
      audit subsystem never expects a single syscall to 'interact' (for some
      wish washy meaning of interact) with more than 20 inodes.  But in fact
      some operations like loading kernel modules can cause changes to lots of
      inodes in debugfs.
      
      There are a couple real fixes being bandied about including removing the
      fixed compile time limit of 20 or not auditing changes in debugfs (or
      both) but neither are small and obvious so I am not sending them for
      immediate inclusion (I hope Al forwards a real solution next devel
      window).
      
      In the meantime this patch simply adds 'audit' to the beginning of the
      crap message so if a user sees it, they come blame me first and we can
      talk about what it means and make sure we understand all of the reasons
      it can happen and make sure this gets solved correctly in the long run.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      449cedf0
    • Chris Mason's avatar
      Btrfs: add check for changed leaves in setup_leaf_for_split · 109f6aef
      Chris Mason authored
      setup_leaf_for_split needs to drop the path and search again, and has
      checks to see if the item we want to split changed size.  But, it misses
      the case where the leaf changed and now has enough room for the item
      we want to insert.
      
      This adds an extra check to make sure the leaf really needs splitting
      before we call btrfs_split_leaf(), which keeps us from trying to split
      a leaf with a single item.
      
      btrfs_split_leaf() will blindly split the single item leaf, leaving us
      with one good leaf and one empty leaf and then a crash.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      109f6aef
    • Sage Weil's avatar
      Btrfs: create snapshot references in same commit as snapshot · 6bdb72de
      Sage Weil authored
      This creates the reference to a new snapshot in the same commit as the
      snapshot itself.  This avoids the need for a second commit in order for a
      snapshot to be persistent, and also avoids the problem of "leaking" a
      new snapshot tree root if the host crashes before the second commit takes
      place.
      
      It is not at all clear to me why it wasn't always done this way.  If there
      is still a reason for the two-stage {create,finish}_pending_snapshots()
      approach I'm missing something!  :)
      
      I've been running this for a couple weeks under pretty heavy usage (a few
      snapshots per minute) without obvious problems.
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      6bdb72de
    • Josef Bacik's avatar
      Btrfs: fix small race with delalloc flushing waitqueue's · b5cb1600
      Josef Bacik authored
      Everytime we start a new flushing thread, we init the waitqueue if there isn't a
      flushing thread running.  The problem with this is we check
      space_info->flushing, which we clear right before doing a wake_up on the
      flushing waitqueue, which causes problems if we init the waitqueue in the middle
      of clearing the flushing flagh and calling wake_up.  This is hard to hit, but
      the code is wrong anyway, so init the flushing/allocating waitqueue when
      creating the space info and let it be.  I haven't seen the panic since I've been
      using this patch.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      b5cb1600
    • Nick Piggin's avatar
      Btrfs: use add_to_page_cache_lru, use __page_cache_alloc · 28ecb609
      Nick Piggin authored
      Pagecache pages should be allocated with __page_cache_alloc, so they
      obey pagecache memory policies.
      
      add_to_page_cache_lru is exported, so it should be used. Benefits over
      using a private pagevec: neater code, 128 bytes fewer stack used, percpu
      lru ordering is preserved, and finally don't need to flush pagevec
      before returning so batching may be shared with other LRU insertions.
      
      Signed-off-by: Nick Piggin <npiggin@suse.de>:
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      28ecb609
    • Linus Torvalds's avatar
      Merge branch 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc · b66696e3
      Linus Torvalds authored
      * 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc:
        eeepc-wmi: include slab.h
        staging/otus: include slab.h from usbdrv.h
        percpu: don't implicitly include slab.h from percpu.h
        kmemcheck: Fix build errors due to missing slab.h
        include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
        iwlwifi: don't include iwl-dev.h from iwl-devtrace.h
        x86: don't include slab.h from arch/x86/include/asm/pgtable_32.h
      
      Fix up trivial conflicts in include/linux/percpu.h due to
      is_kernel_percpu_address() having been introduced since the slab.h
      cleanup with the percpu_up.c splitup.
      b66696e3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 9e74e7c8
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        module: add stub for is_module_percpu_address
        percpu, module: implement and use is_kernel/module_percpu_address()
        module: encapsulate percpu handling better and record percpu_size
      9e74e7c8
    • Rik van Riel's avatar
      rmap: fix anon_vma_fork() memory leak · 4946d54c
      Rik van Riel authored
      Fix a memory leak in anon_vma_fork(), where we fail to tear down the
      anon_vmas attached to the new VMA in case setting up the new anon_vma
      fails.
      
      This bug also has the potential to leave behind anon_vma_chain structs
      with pointers to invalid memory.
      Reported-by: default avatarMinchan Kim <minchan.kim@gmail.com>
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4946d54c
    • Tejun Heo's avatar
      eeepc-wmi: include slab.h · a32f3926
      Tejun Heo authored
      eeepc-wmi uses kfree() but doesn't include slab.h.  Include it.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Yong Wang <yong.y.wang@intel.com>
      a32f3926
    • Tejun Heo's avatar
      Merge branch 'master' into export-slabh · 336f5899
      Tejun Heo authored
      336f5899
    • Tejun Heo's avatar
      staging/otus: include slab.h from usbdrv.h · a4ab2773
      Tejun Heo authored
      drivers/staging/otus/usbdrv.h users use slab facilities.  Include
      linux/slab.h from usbdrv.h.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      a4ab2773
  2. 04 Apr, 2010 7 commits
  3. 03 Apr, 2010 12 commits
  4. 02 Apr, 2010 9 commits