Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jun 28, 2011
  1. Linux 3.0-rc5

    authored
  2. drm/i915: more struct_mutex locking

    Hugh Dickins authored committed
    When auditing the locking in i915_gem.c (for a prospective change which
    I then abandoned), I noticed two places where struct_mutex is not held
    across GEM object manipulations that would usually require it.
    
    Since one is in initial setup and the other in driver unload, I'm
    guessing the mutex is not required for either; but post a patch in case
    it is.
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Keith Packard <keithp@keithp.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  3. drm/i915: use shmem_truncate_range

    Hugh Dickins authored committed
    The interface to ->truncate_range is changing very slightly: once "tmpfs:
    take control of its truncate_range" has been applied, this can be applied.
     For now there is only a slight inefficiency while this remains unapplied,
    but it will soon become essential for managing shmem's use of swap.
    
    Change i915_gem_object_truncate() to use shmem_truncate_range() directly:
    which should also spare i915 later change if we switch from
    inode_operations->truncate_range to file_operations->fallocate.
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Keith Packard <keithp@keithp.com>
    Cc: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  4. drm/i915: use shmem_read_mapping_page

    Hugh Dickins authored committed
    Soon tmpfs will stop supporting ->readpage and read_cache_page_gfp(): once
    "tmpfs: add shmem_read_mapping_page_gfp" has been applied, this patch can
    be applied to ease the transition.
    
    Make i915_gem_object_get_pages_gtt() use shmem_read_mapping_page_gfp() in
    the one place it's needed; elsewhere use shmem_read_mapping_page(), with
    the mapping's gfp_mask properly initialized.
    
    Forget about __GFP_COLD: since tmpfs initializes its pages with memset,
    asking for a cold page is counter-productive.
    
    Include linux/shmem_fs.h also in drm_gem.c: with shmem_file_setup() now
    declared there too, we shall remove the prototype from linux/mm.h later.
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Keith Packard <keithp@keithp.com>
    Cc: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  5. drm/ttm: use shmem_read_mapping_page

    Hugh Dickins authored committed
    Soon tmpfs will stop supporting ->readpage and read_mapping_page(): once
    "tmpfs: add shmem_read_mapping_page_gfp" has been applied, this patch can
    be applied to ease the transition.
    
    ttm_tt_swapin() and ttm_tt_swapout() use shmem_read_mapping_page() in
    place of read_mapping_page(), since their swap_space has been created with
    shmem_file_setup().
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Thomas Hellstrom <thellstrom@vmware.com>
    Cc: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  6. drivers/tty/serial/8250_pci.c: fix warning

    Andrew Morton authored committed
    Fis the warning
    
      drivers/tty/serial/8250_pci.c:1457: warning: initialization from incompatible pointer type
    
    Cc: Greg KH <greg@kroah.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  7. @ralfbaechle

    drivers/misc/ioc4.c: fix section mismatch / race condition

    ralfbaechle authored committed
    Fix this section mismatch:
    
      WARNING: drivers/misc/ioc4.o(.data+0x144): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules()
      The variable ioc4_load_modules_work references
      the function __devinit ioc4_load_modules()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
    
    This one is potentially fatal; by the time ioc4_load_modules is invoked
    it may already have been freed.  For that reason ioc4_load_modules_work
    can't be turned to __devinitdata but also because it's referenced in
    ioc4_exit.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Acked-by: Brent Casavant <bcasavan@sgi.com>
    Cc: Tejun Heo <tj@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  8. @ralfbaechle

    drivers/leds/leds-lp5523.c: fix section mismatches

    ralfbaechle authored committed
    Fix this section mismatch:
    
      WARNING: drivers/leds/leds-lp5523.o(.text+0x12f4): Section mismatch in reference from the function lp5523_probe() to the function .init.text:lp5523_init_led()
      The function lp5523_probe() references
      the function __init lp5523_init_led().
      This is often because lp5523_probe lacks a __init
      annotation or the annotation of lp5523_init_led is wrong.
    
    Fixing this one triggers one more mismatch, fix that one as well.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Cc: Richard Purdie <rpurdie@rpsys.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  9. @ralfbaechle

    drivers/leds/leds-lp5521.c: fix section mismatches

    ralfbaechle authored committed
    Fix this section mismatch:
    
      WARNING: drivers/leds/leds-lp5521.o(.text+0xf2c): Section mismatch in reference from the function lp5521_probe() to the function .init.text:lp5521_init_led()
      The function lp5521_probe() references
      the function __init lp5521_init_led().
      This is often because lp5521_probe lacks a __init
      annotation or the annotation of lp5521_init_led is wrong.
    
    Fixing this mismatch triggers one more mismatch, fix that one as well.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Cc: Richard Purdie <rpurdie@rpsys.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  10. @hkamezawa

    memcg: fix direct softlimit reclaim to be called in limit path

    hkamezawa authored committed
    Commit d149e3b ("memcg: add the soft_limit reclaim in global direct
    reclaim") adds a softlimit hook to shrink_zones().  By this, soft limit
    is called as
    
       try_to_free_pages()
           do_try_to_free_pages()
               shrink_zones()
                   mem_cgroup_soft_limit_reclaim()
    
    Then, direct reclaim is memcg softlimit hint aware, now.
    
    But, the memory cgroup's "limit" path can call softlimit shrinker.
    
       try_to_free_mem_cgroup_pages()
           do_try_to_free_pages()
               shrink_zones()
                   mem_cgroup_soft_limit_reclaim()
    
    This will cause a global reclaim when a memcg hits limit.
    
    This is bug. soft_limit_reclaim() should be called when
    scanning_global_lru(sc) == true.
    
    And the commit adds a variable "total_scanned" for counting softlimit
    scanned pages....it's not "total".  This patch removes the variable and
    update sc->nr_scanned instead of it.  This will affect shrink_slab()'s
    scan condition but, global LRU is scanned by softlimit and I think this
    change makes sense.
    
    TODO: avoid too much scanning of a zone when softlimit did enough work.
    
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
    Cc: Ying Han <yinghan@google.com>
    Cc: Michal Hocko <mhocko@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  11. taskstats: don't allow duplicate entries in listener mode

    Vasiliy Kulikov authored committed
    Currently a single process may register exit handlers unlimited times.
    It may lead to a bloated listeners chain and very slow process
    terminations.
    
    Eg after 10KK sent TASKSTATS_CMD_ATTR_REGISTER_CPUMASKs ~300 Mb of
    kernel memory is stolen for the handlers chain and "time id" shows 2-7
    seconds instead of normal 0.003.  It makes it possible to exhaust all
    kernel memory and to eat much of CPU time by triggerring numerous exits
    on a single CPU.
    
    The patch limits the number of times a single process may register
    itself on a single CPU to one.
    
    One little issue is kept unfixed - as taskstats_exit() is called before
    exit_files() in do_exit(), the orphaned listener entry (if it was not
    explicitly deregistered) is kept until the next someone's exit() and
    implicit deregistration in send_cpu_listeners().  So, if a process
    registered itself as a listener exits and the next spawned process gets
    the same pid, it would inherit taskstats attributes.
    
    Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
    Cc: Balbir Singh <bsingharora@gmail.com>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  12. @jankara

    mm: fix assertion mapping->nrpages == 0 in end_writeback()

    jankara authored committed
    Under heavy memory and filesystem load, users observe the assertion
    mapping->nrpages == 0 in end_writeback() trigger.  This can be caused by
    page reclaim reclaiming the last page from a mapping in the following
    race:
    
    	CPU0				CPU1
      ...
      shrink_page_list()
        __remove_mapping()
          __delete_from_page_cache()
            radix_tree_delete()
    					evict_inode()
    					  truncate_inode_pages()
    					    truncate_inode_pages_range()
    					      pagevec_lookup() - finds nothing
    					  end_writeback()
    					    mapping->nrpages != 0 -> BUG
            page->mapping = NULL
            mapping->nrpages--
    
    Fix the problem by doing a reliable check of mapping->nrpages under
    mapping->tree_lock in end_writeback().
    
    Analyzed by Jay <jinshan.xiong@whamcloud.com>, lost in LKML, and dug out
    by Miklos Szeredi <mszeredi@suse.de>.
    
    Cc: Jay <jinshan.xiong@whamcloud.com>
    Cc: Miklos Szeredi <mszeredi@suse.de>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  13. mm/memory-failure.c: fix spinlock vs mutex order

    Peter Zijlstra authored committed
    We cannot take a mutex while holding a spinlock, so flip the order and
    fix the locking documentation.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Acked-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  14. drivers/misc/lkdtm.c: fix race when crashpoint is hit multiple times …

    Josh Hunt authored committed
    …before checking count
    
    We observed the crash point count going negative in cases where the
    crash point is hit multiple times before the check of "count == 0" is
    done.  Because of this we never call lkdtm_do_action().  This patch just
    adds a spinlock to protect count.
    
    Reported-by: Tapan Dhimant <tdhimant@akamai.com>
    Signed-off-by: Josh Hunt <johunt@akamai.com>
    Acked-by: Ankita Garg <ankita@in.ibm.com>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  15. @cmetcalf-tilera

    include/linux/compat.h: declare compat_sys_sendmmsg()

    cmetcalf-tilera authored committed
    This is required for tilegx to be able to use the compat unistd.h header
    where compat_sys_sendmmsg() is now mentioned.
    
    Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  16. @lliubbo

    romfs: fix romfs_get_unmapped_area() argument check

    lliubbo authored committed
    romfs_get_unmapped_area() checks argument `len' without considering
    PAGE_ALIGN which will cause do_mmap_pgoff() return -EINVAL error after
    commit f67d9b1 ("nommu: add page_align to mmap").
    
    Fix the check by changing it in same way ramfs_nommu_get_unmapped_area()
    was changed in ramfs/file-nommu.c.
    
    Signed-off-by: Bob Liu <lliubbo@gmail.com>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Paul Mundt <lethal@linux-sh.org>
    Acked-by: Greg Ungerer <gerg@snapgear.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  17. @richardweinberger

    um: add asm/percpu.h

    richardweinberger authored committed
    To make SLUB work on UML we need this_cpu_cmpxchg from
    asm-generic/percpu.h.
    
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  18. drivers/rtc/rtc-ds1307.c: add support for RTC device pt7c4338

    Priyanka Jain authored committed
    PT7C4338 chip is being manufactured by Pericom Technology Inc.  It is a
    serial real-time clock which provides:
    
    1) Low-power clock/calendar.
    2) Programmable square-wave output.
    
    It has 56 bytes of nonvolatile RAM.  Its register set is same as that of
    rtc device: DS1307.
    
    Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
    Acked-by: Timur Tabi <timur@freescale.com>
    Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  19. tmpfs: add shmem_read_mapping_page_gfp

    Hugh Dickins authored committed
    Although it is used (by i915) on nothing but tmpfs, read_cache_page_gfp()
    is unsuited to tmpfs, because it inserts a page into pagecache before
    calling the filesystem's ->readpage: tmpfs may have pages in swapcache
    which only it knows how to locate and switch to filecache.
    
    At present tmpfs provides a ->readpage method, and copes with this by
    copying pages; but soon we can simplify it by removing its ->readpage.
    Provide shmem_read_mapping_page_gfp() now, ready for that transition,
    
    Export shmem_read_mapping_page_gfp() and add it to list in shmem_fs.h,
    with shmem_read_mapping_page() inline for the common mapping_gfp case.
    
    (shmem_read_mapping_page_gfp or shmem_read_cache_page_gfp? Generally the
    read_mapping_page functions use the mapping's ->readpage, and the
    read_cache_page functions use the supplied filler, so I think
    read_cache_page_gfp was slightly misnamed.)
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  20. tmpfs: take control of its truncate_range

    Hugh Dickins authored committed
    2.6.35's new truncate convention gave tmpfs the opportunity to control
    its file truncation, no longer enforced from outside by vmtruncate().
    We shall want to build upon that, to handle pagecache and swap together.
    
    Slightly redefine the ->truncate_range interface: let it now be called
    between the unmap_mapping_range()s, with the filesystem responsible for
    doing the truncate_inode_pages_range() from it - just as the filesystem
    is nowadays responsible for doing that from its ->setattr.
    
    Let's rename shmem_notify_change() to shmem_setattr().  Instead of
    calling the generic truncate_setsize(), bring that code in so we can
    call shmem_truncate_range() - which will later be updated to perform its
    own variant of truncate_inode_pages_range().
    
    Remove the punch_hole unmap_mapping_range() from shmem_truncate_range():
    now that the COW's unmap_mapping_range() comes after ->truncate_range,
    there is no need to call it a third time.
    
    Export shmem_truncate_range() and add it to the list in shmem_fs.h, so
    that i915_gem_object_truncate() can call it explicitly in future; get
    this patch in first, then update drm/i915 once this is available (until
    then, i915 will just be doing the truncate_inode_pages() twice).
    
    Though introduced five years ago, no other filesystem is implementing
    ->truncate_range, and its only other user is madvise(,,MADV_REMOVE): we
    expect to convert it to fallocate(,FALLOC_FL_PUNCH_HOLE,,) shortly,
    whereupon ->truncate_range can be removed from inode_operations -
    shmem_truncate_range() will help i915 across that transition too.
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  21. mm: move shmem prototypes to shmem_fs.h

    Hugh Dickins authored committed
    Before adding any more global entry points into shmem.c, gather such
    prototypes into shmem_fs.h.  Remove mm's own declarations from swap.h,
    but for now leave the ones in mm.h: because shmem_file_setup() and
    shmem_zero_setup() are called from various places, and we should not
    force other subsystems to update immediately.
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  22. mm: move vmtruncate_range to truncate.c

    Hugh Dickins authored committed
    You would expect to find vmtruncate_range() next to vmtruncate() in
    mm/truncate.c: move it there.
    
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Acked-by: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Commits on Jun 27, 2011
  1. @vitalivanov

    Fix some kernel-doc warnings

    vitalivanov authored committed
    Fix 'make htmldocs' warnings:
    
      Warning(/include/linux/hrtimer.h:153): No description found for parameter 'clockid'
      Warning(/include/linux/device.h:604): Excess struct/union/enum/typedef member 'of_match' description in 'device'
      Warning(/include/net/sock.h:349): Excess struct/union/enum/typedef member 'sk_rmem_alloc' description in 'sock'
    
    Signed-off-by: Vitaliy Ivanov <vitalivanov@gmail.com>
    Acked-by: Grant Likely <grant.likely@secretlab.ca>
    Acked-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/cjb/mmc
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
      mmc: queue: bring discard_granularity/alignment into line with SCSI
      mmc: queue: append partition subname to queue thread name
      mmc: core: make erase timeout calculation allow for gated clock
      mmc: block: switch card to User Data Area when removing the block driver
      mmc: sdio: reset card during power_restore
      mmc: cb710: fix #ifdef HAVE_EFFICIENT_UNALIGNED_ACCESS
      mmc: sdhi: DMA slave ID 0 is invalid
      mmc: tmio: fix regression in TMIO_MMC_WRPROTECT_DISABLE handling
      mmc: omap_hsmmc: use original sg_len for dma_unmap_sg
      mmc: omap_hsmmc: fix ocr mask usage
      mmc: sdio: fix runtime PM path during driver removal
      mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader
      mmc: sdhi: fix module unloading
      mmc: of_mmc_spi: add NO_IRQ define to of_mmc_spi.c
      mmc: vub300: fix null dereferences in error handling
  3. @hkamezawa

    Fix node_start/end_pfn() definition for mm/page_cgroup.c

    hkamezawa authored committed
    commit 21a3c96 uses node_start/end_pfn(nid) for detection start/end
    of nodes. But, it's not defined in linux/mmzone.h but defined in
    /arch/???/include/mmzone.h which is included only under
    CONFIG_NEED_MULTIPLE_NODES=y.
    
    Then, we see
      mm/page_cgroup.c: In function 'page_cgroup_init':
      mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
      mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'
    
    So, fixiing page_cgroup.c is an idea...
    
    But node_start_pfn()/node_end_pfn() is a very generic macro and
    should be implemented in the same manner for all archs.
    (m32r has different implementation...)
    
    This patch removes definitions of node_start/end_pfn() in each archs
    and defines a unified one in linux/mmzone.h. It's not under
    CONFIG_NEED_MULTIPLE_NODES, now.
    
    A result of macro expansion is here (mm/page_cgroup.c)
    
    for !NUMA
     start_pfn = ((&contig_page_data)->node_start_pfn);
      end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
    
    for NUMA (x86-64)
      start_pfn = ((node_data[nid])->node_start_pfn);
      end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
    
    Changelog:
     - fixed to avoid using "nid" twice in node_end_pfn() macro.
    
    Reported-and-acked-by: Randy Dunlap <randy.dunlap@oracle.com>
    Reported-and-tested-by: Ingo Molnar <mingo@elte.hu>
    Acked-by: Mel Gorman <mgorman@suse.de>
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  4. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/mason/btrfs-unstable
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
      btrfs: fix inconsonant inode information
      Btrfs: make sure to update total_bitmaps when freeing cache V3
      Btrfs: fix type mismatch in find_free_extent()
      Btrfs: make sure to record the transid in new inodes
  5. Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

    authored
    * 'for-linus' of git://oss.sgi.com/xfs/xfs:
      xfs: prevent bogus assert when trying to remove non-existent attribute
      xfs: clear XFS_IDIRTY_RELEASE on truncate down
      xfs: reset inode per-lifetime state when recycling it
  6. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/jikos/hid
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
      HID: hid-multitouch: add support for a new Lumio dual-touch panel
      HID: hid-multitouch: correct VID for Stantum panels
      HID: hid-multitouch: ensure slots are initialized
  7. Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm

    authored
    * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
      ARM: pm: ensure ARMv7 CPUs save and restore the TLS register
      ARM: pm: proc-v7: fix missing struct processor pointers for suspend code
      ARM: 6969/1: plat-iop: fix build error
      ARM: 6961/1: zImage: Add build-time check for correctly-sized proc_type entries
      ARM: SMP: wait for CPU to be marked active
      ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols
      ARM: 6962/1: mach-h720x: fix build error
      ARM: 6959/1: SMP build fix for entry-macro-multi.S
  8. Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6

    authored
    * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
      [S390] allow setting of upper 32 bit in smp_ctl_set_bit
      [S390] hwsampler: Set a sane default sampling rate
      [S390] s390: enforce HW limits for the initial sampling rate
      [S390] kvm-s390: fix kconfig dependencies
  9. @chrismason-xx

    btrfs: fix inconsonant inode information

    Miao Xie authored chrismason-xx committed
    When iputting the inode, We may leave the delayed nodes if they have some
    delayed items that have not been dealt with. So when the inode is read again,
    we must look up the relative delayed node, and use the information in it to
    initialize the inode. Or we will get inconsonant inode information, it may
    cause that the same directory index number is allocated again, and hit the
    following oops:
    
    [ 5447.554187] err add delayed dir index item(name: pglog_0.965_0) into the
    insertion tree of the delayed node(root id: 262, inode id: 258, errno: -17)
    [ 5447.569766] ------------[ cut here ]------------
    [ 5447.575361] kernel BUG at fs/btrfs/delayed-inode.c:1301!
    [SNIP]
    [ 5447.790721] Call Trace:
    [ 5447.793191]  [<ffffffffa0641c4e>] btrfs_insert_dir_item+0x189/0x1bb [btrfs]
    [ 5447.800156]  [<ffffffffa0651a45>] btrfs_add_link+0x12b/0x191 [btrfs]
    [ 5447.806517]  [<ffffffffa0651adc>] btrfs_add_nondir+0x31/0x58 [btrfs]
    [ 5447.812876]  [<ffffffffa0651d6a>] btrfs_create+0xf9/0x197 [btrfs]
    [ 5447.818961]  [<ffffffff8111f840>] vfs_create+0x72/0x92
    [ 5447.824090]  [<ffffffff8111fa8c>] do_last+0x22c/0x40b
    [ 5447.829133]  [<ffffffff8112076a>] path_openat+0xc0/0x2ef
    [ 5447.834438]  [<ffffffff810c58e2>] ? __perf_event_task_sched_out+0x24/0x44
    [ 5447.841216]  [<ffffffff8103ecdd>] ? perf_event_task_sched_out+0x59/0x67
    [ 5447.847846]  [<ffffffff81121a79>] do_filp_open+0x3d/0x87
    [ 5447.853156]  [<ffffffff811e126c>] ? strncpy_from_user+0x43/0x4d
    [ 5447.859072]  [<ffffffff8111f1f5>] ? getname_flags+0x2e/0x80
    [ 5447.864636]  [<ffffffff8111f179>] ? do_getname+0x14b/0x173
    [ 5447.870112]  [<ffffffff8111f1b7>] ? audit_getname+0x16/0x26
    [ 5447.875682]  [<ffffffff8112b1ab>] ? spin_lock+0xe/0x10
    [ 5447.880882]  [<ffffffff81112d39>] do_sys_open+0x69/0xae
    [ 5447.886153]  [<ffffffff81112db1>] sys_open+0x20/0x22
    [ 5447.891114]  [<ffffffff813b9aab>] system_call_fastpath+0x16/0x1b
    
    Fix it by reusing the old delayed node.
    
    Reported-by: Jim Schutt <jaschut@sandia.gov>
    Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
    Tested-by: Jim Schutt <jaschut@sandia.gov>
    Signed-off-by: Chris Mason <chris.mason@oracle.com>
  10. Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6

    authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
      cifs: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN
      cifs: free blkcipher in smbhash
  11. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    authored
    …/git/viro/vfs-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
      cifs: propagate errors from cifs_get_root() to mount(2)
      cifs: tidy cifs_do_mount() up a bit
      cifs: more breakage on mount failures
      cifs: close sget() races
      cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()
      cifs: move cifs_umount() call into ->kill_sb()
      cifs: pull cifs_mount() call up
      sanitize cifs_umount() prototype
      cifs: initialize ->tlink_tree in cifs_setup_cifs_sb()
      cifs: allocate mountdata earlier
      cifs: leak on mount if we share superblock
      cifs: don't pass superblock to cifs_mount()
      cifs: don't leak nls on mount failure
      cifs: double free on mount failure
      take bdi setup/destruction into cifs_mount/cifs_umount
    
    Acked-by: Steve French <smfrench@gmail.com>
Commits on Jun 25, 2011
  1. @cjb

    mmc: queue: bring discard_granularity/alignment into line with SCSI

    Adrian Hunter authored cjb committed
    SCSI defines discard alignment as the offset to the first
    optimal discard.  In the case of SD/MMC, that is always zero
    which is the default.
    
    SCSI defines discard granularity as a hint of a optimal
    discard size.  That is much better expressed by the MMC
    "preferred erase size" (pref_erase) field.
    
    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Chris Ball <cjb@laptop.org>
  2. @cjb

    mmc: queue: append partition subname to queue thread name

    Adrian Hunter authored cjb committed
    For example, an eMMC with 2 boot partitions will have 3 threads.
    The names change from:
    
       40 ?        00:00:00 mmcqd/0
       41 ?        00:00:00 mmcqd/0
       42 ?        00:00:00 mmcqd/0
    
    to:
    
       40 ?        00:00:00 mmcqd/0
       41 ?        00:00:00 mmcqd/0boot0
       42 ?        00:00:00 mmcqd/0boot1
    
    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Andrei Warkentin <andreiw@motorola.com>
    Signed-off-by: Chris Ball <cjb@laptop.org>
Something went wrong with that request. Please try again.