12 Jun, 2009

40 commits

  • This patch adds an -oexpose_privroot option to allow access to the privroot.

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Al Viro

    Jeff Mahoney
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (23 commits)
    Btrfs: fix extent_buffer leak during tree log replay
    Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir
    Btrfs: fix -o nodatasum printk spelling
    Btrfs: check duplicate backrefs for both data and metadata
    Btrfs: init worker struct fields before kthread-run
    Btrfs: pin buffers during write_dev_supers
    Btrfs: avoid races between super writeout and device list updates
    Fix btrfs when ACLs are configured out
    Btrfs: fdatasync should skip metadata writeout
    Btrfs: remove crc32c.h and use libcrc32c directly.
    Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION
    Btrfs: autodetect SSD devices
    Btrfs: add mount -o ssd_spread to spread allocations out
    Btrfs: avoid allocation clusters that are too spread out
    Btrfs: Add mount -o nossd
    Btrfs: avoid IO stalls behind congested devices in a multi-device FS
    Btrfs: don't allow WRITE_SYNC bios to starve out regular writes
    Btrfs: fix metadata dirty throttling limits
    Btrfs: reduce mount -o ssd CPU usage
    Btrfs: balance btree more often
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.infradead.org/users/eparis/notify:
    fsnotify: allow groups to set freeing_mark to null
    inotify/dnotify: should_send_event shouldn't match on FS_EVENT_ON_CHILD
    dnotify: do not bother to lock entry->lock when reading mask
    dnotify: do not use ?true:false when assigning to a bool
    fsnotify: move events should indicate the event was on a child
    inotify: reimplement inotify using fsnotify
    fsnotify: handle filesystem unmounts with fsnotify marks
    fsnotify: fsnotify marks on inodes pin them in core
    fsnotify: allow groups to add private data to events
    fsnotify: add correlations between events
    fsnotify: include pathnames with entries when possible
    fsnotify: generic notification queue and waitq
    dnotify: reimplement dnotify using fsnotify
    fsnotify: parent event notification
    fsnotify: add marks to inodes so groups can interpret how to handle those inodes
    fsnotify: unified filesystem notification backend

    Linus Torvalds
     
  • * 'for-linus' of git://linux-arm.org/linux-2.6:
    kmemleak: Add the corresponding MAINTAINERS entry
    kmemleak: Simple testing module for kmemleak
    kmemleak: Enable the building of the memory leak detector
    kmemleak: Remove some of the kmemleak false positives
    kmemleak: Add modules support
    kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash
    kmemleak: Add the vmalloc memory allocation/freeing hooks
    kmemleak: Add the slub memory allocation/freeing hooks
    kmemleak: Add the slob memory allocation/freeing hooks
    kmemleak: Add the slab memory allocation/freeing hooks
    kmemleak: Add documentation on the memory leak detector
    kmemleak: Add the base support

    Manual conflict resolution (with the slab/earlyboot changes) in:
    drivers/char/vt.c
    init/main.c
    mm/slab.c

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (574 commits)
    perf_counter: Turn off by default
    perf_counter: Add counter->id to the throttle event
    perf_counter: Better align code
    perf_counter: Rename L2 to LL cache
    perf_counter: Standardize event names
    perf_counter: Rename enums
    perf_counter tools: Clean up u64 usage
    perf_counter: Rename perf_counter_limit sysctl
    perf_counter: More paranoia settings
    perf_counter: powerpc: Implement generalized cache events for POWER processors
    perf_counters: powerpc: Add support for POWER7 processors
    perf_counter: Accurate period data
    perf_counter: Introduce struct for sample data
    perf_counter tools: Normalize data using per sample period data
    perf_counter: Annotate exit ctx recursion
    perf_counter tools: Propagate signals properly
    perf_counter tools: Small frequency related fixes
    perf_counter: More aggressive frequency adjustment
    perf_counter/x86: Fix the model number of Intel Core2 processors
    perf_counter, x86: Correct some event and umask values for Intel processors
    ...

    Linus Torvalds
     
  • …/git/penberg/slab-2.6

    * 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
    vgacon: use slab allocator instead of the bootmem allocator
    irq: use kcalloc() instead of the bootmem allocator
    sched: use slab in cpupri_init()
    sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var()
    memcg: don't use bootmem allocator in setup code
    irq/cpumask: make memoryless node zero happy
    x86: remove some alloc_bootmem_cpumask_var calling
    vt: use kzalloc() instead of the bootmem allocator
    sched: use kzalloc() instead of the bootmem allocator
    init: introduce mm_init()
    vmalloc: use kzalloc() instead of alloc_bootmem()
    slab: setup allocators earlier in the boot sequence
    bootmem: fix slab fallback on numa
    bootmem: use slab if bootmem is no longer available

    Linus Torvalds
     
  • Most fsnotify listeners (all but inotify) do not care about marks being
    freed. Allow groups to set freeing_mark to null and do not call any
    function if it is set that way.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • inotify and dnotify will both indicate that they want any event which came
    from a child inode. The fix is to mask off FS_EVENT_ON_CHILD when deciding
    if inotify or dnotify is interested in a given event.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • entry->lock is needed to make sure entry->mask does not change while
    manipulating it. In dnotify_should_send_event() we don't care if we get an
    old or a new mask value out of this entry so there is no point it taking
    the lock.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • dnotify_should send event assigned a bool using ?true:false when computing
    a bit operation. This is poitless and the bool type does this for us.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • fsnotify tells its listeners explicitly when an event happened on the given
    inode verses on the child of the given inode. (see __fsnotify_parent)
    However, the semantics of fsnotify_move() are such that we deliver events
    directly to the two parent directories in question (old_dir and new_dir)
    directly without using the __fsnotify_parent() call. fsnotify should be
    adding FS_EVENT_ON_CHILD for the notifications to these parents.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • Reimplement inotify_user using fsnotify. This should be feature for feature
    exactly the same as the original inotify_user. This does not make any changes
    to the in kernel inotify feature used by audit. Those patches (and the eventual
    removal of in kernel inotify) will come after the new inotify_user proves to be
    working correctly.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • When an fs is unmounted with an fsnotify mark entry attached to one of its
    inodes we need to destroy that mark entry and we also (like inotify) send
    an unmount event.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • This patch pins any inodes with an fsnotify mark in core. The idea is that
    as soon as the mark is removed from the inode->fsnotify_mark_entries list
    the inode will be iput. In reality is doesn't quite work exactly this way.
    The igrab will happen when the mark is added to an inode, but the iput will
    happen when the inode pointer is NULL'd inside the mark.

    It's possible that 2 racing things will try to remove the mark from
    different directions. One may try to remove the mark because of an
    explicit request and one might try to remove it because the inode was
    deleted. It's possible that the removal because of inode deletion will
    remove the mark from the inode's list, but the removal by explicit request
    will actually set entry->inode == NULL; and call the iput. This is safe.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • inotify needs per group information attached to events. This patch allows
    groups to attach private information and implements a callback so that
    information can be freed when an event is being destroyed.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • As part of the standard inotify events it includes a correlation cookie
    between two dentry move operations. This patch includes the same behaviour
    in fsnotify events. It is needed so that inotify userspace can be
    implemented on top of fsnotify.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • When inotify wants to send events to a directory about a child it includes
    the name of the original file. This patch collects that filename and makes
    it available for notification.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • inotify needs to do asyc notification in which event information is stored
    on a queue until the listener is ready to receive it. This patch
    implements a generic notification queue for inotify (and later fanotify) to
    store events to be sent at a later time.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • Reimplement dnotify using fsnotify.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • inotify and dnotify both use a similar parent notification mechanism. We
    add a generic parent notification mechanism to fsnotify for both of these
    to use. This new machanism also adds the dentry flag optimization which
    exists for inotify to dnotify.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • This patch creates a way for fsnotify groups to attach marks to inodes.
    These marks have little meaning to the generic fsnotify infrastructure
    and thus their meaning should be interpreted by the group that attached
    them to the inode's list.

    dnotify and inotify will make use of these markings to indicate which
    inodes are of interest to their respective groups. But this implementation
    has the useful property that in the future other listeners could actually
    use the marks for the exact opposite reason, aka to indicate which inodes
    it had NO interest in.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • fsnotify is a backend for filesystem notification. fsnotify does
    not provide any userspace interface but does provide the basis
    needed for other notification schemes such as dnotify. fsnotify
    can be extended to be the backend for inotify or the upcoming
    fanotify. fsnotify provides a mechanism for "groups" to register for
    some set of filesystem events and to then deliver those events to
    those groups for processing.

    fsnotify has a number of benefits, the first being actually shrinking the size
    of an inode. Before fsnotify to support both dnotify and inotify an inode had

    unsigned long i_dnotify_mask; /* Directory notify events */
    struct dnotify_struct *i_dnotify; /* for directory notifications */
    struct list_head inotify_watches; /* watches on this inode */
    struct mutex inotify_mutex; /* protects the watches list

    But with fsnotify this same functionallity (and more) is done with just

    __u32 i_fsnotify_mask; /* all events for this inode */
    struct hlist_head i_fsnotify_mark_entries; /* marks on this inode */

    That's right, inotify, dnotify, and fanotify all in 64 bits. We used that
    much space just in inotify_watches alone, before this patch set.

    fsnotify object lifetime and locking is MUCH better than what we have today.
    inotify locking is incredibly complex. See 8f7b0ba1c8539 as an example of
    what's been busted since inception. inotify needs to know internal semantics
    of superblock destruction and unmounting to function. The inode pinning and
    vfs contortions are horrible.

    no fsnotify implementers do allocation under locks. This means things like
    f04b30de3 which (due to an overabundance of caution) changes GFP_KERNEL to
    GFP_NOFS can be reverted. There are no longer any allocation rules when using
    or implementing your own fsnotify listener.

    fsnotify paves the way for fanotify. In brief fanotify is a notification
    mechanism that delivers the lisener both an 'event' and an open file descriptor
    to the object in question. This means that fanotify is pathname agnostic.
    Some on lkml may not care for the original companies or users that pushed for
    TALPA, but fanotify was designed with flexibility and input for other users in
    mind. The readahead group expressed interest in fanotify as it could be used
    to profile disk access on boot without breaking the audit system. The desktop
    search groups have also expressed interest in fanotify as it solves a number
    of the race conditions and problems present with managing inotify when more
    than a limited number of specific files are of interest. fanotify can provide
    for a userspace access control system which makes it a clean interface for AV
    vendors to hook without trying to do binary patching on the syscall table,
    LSM, and everywhere else they do their things today. With this patch series
    fanotify can be implemented in less than 1200 lines of easy to review code.
    Almost all of which is the socket based user interface.

    This patch series builds fsnotify to the point that it can implement
    dnotify and inotify_user. Patches exist and will be sent soon after
    acceptance to finish the in kernel inotify conversion (audit) and implement
    fanotify.

    Signed-off-by: Eric Paris
    Acked-by: Al Viro
    Cc: Christoph Hellwig

    Eric Paris
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
    jfs: Add missing mutex_unlock call to error path
    missing unlock in jfs_quota_write()

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: memtest: use pointers of equal type for comparison

    Linus Torvalds
     
  • slow_work_thread() sleeps on slow_work_thread_wq without WQ_FLAG_EXCLUSIVE,
    this means that slow_work_enqueue()->__wake_up(nr_exclusive => 1) wakes up all
    kslowd threads. This is not what we want, so we change slow_work_thread() to
    use prepare_to_wait_exclusive() instead.

    Signed-off-by: Oleg Nesterov
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] ata_piix: Enable parallel scan
    sata_nv: use hardreset only for post-boot probing
    [libata] ahci: Restore SB600 SATA controller 64 bit DMA
    ata_piix: Remove stale comment
    ata_piix: Turn on hotplugging support for older chips
    ahci: misc cleanups for EM stuff
    [libata] get rid of ATA_MAX_QUEUE loop in ata_qc_complete_multiple() v2
    sata_sil: enable 32-bit PIO
    sata_sx4: speed up ECC initialization
    libata-sff: avoid byte swapping in ata_sff_data_xfer()
    [libata] ahci: use less error-prone array initializers

    Linus Torvalds
     
  • * 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block: (153 commits)
    block: add request clone interface (v2)
    floppy: fix hibernation
    ramdisk: remove long-deprecated "ramdisk=" boot-time parameter
    fs/bio.c: add missing __user annotation
    block: prevent possible io_context->refcount overflow
    Add serial number support for virtio_blk, V4a
    block: Add missing bounce_pfn stacking and fix comments
    Revert "block: Fix bounce limit setting in DM"
    cciss: decode unit attention in SCSI error handling code
    cciss: Remove no longer needed sendcmd reject processing code
    cciss: change SCSI error handling routines to work with interrupts enabled.
    cciss: separate error processing and command retrying code in sendcmd_withirq_core()
    cciss: factor out fix target status processing code from sendcmd functions
    cciss: simplify interface of sendcmd() and sendcmd_withirq()
    cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code
    cciss: Use schedule_timeout_uninterruptible in SCSI error handling code
    block: needs to set the residual length of a bidi request
    Revert "block: implement blkdev_readpages"
    block: Fix bounce limit setting in DM
    Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt
    ...

    Manually fix conflicts with tracing updates in:
    block/blk-sysfs.c
    drivers/ide/ide-atapi.c
    drivers/ide/ide-cd.c
    drivers/ide/ide-floppy.c
    drivers/ide/ide-tape.c
    include/trace/events/block.h
    kernel/trace/blktrace.c

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (25 commits)
    GFS2: Merge gfs2_get_sb into gfs2_get_sb_meta
    GFS2: Fix cache coherency between truncate and O_DIRECT read
    GFS2: Fix locking issue mounting gfs2meta fs
    GFS2: Remove unused variable
    GFS2: smbd proccess hangs with flock() call.
    GFS2: Remove args subdir from gfs2 sysfs files
    GFS2: Remove lockstruct subdir from gfs2 sysfs files
    GFS2: Move gfs2_unlink_ok into ops_inode.c
    GFS2: Move gfs2_readlinki into ops_inode.c
    GFS2: Move gfs2_rmdiri into ops_inode.c
    GFS2: Merge mount.c and ops_super.c into super.c
    GFS2: Clean up some file names
    GFS2: Be more aggressive in reclaiming unlinked inodes
    GFS2: Add a rgrp bitmap full flag
    GFS2: Improve resource group error handling
    GFS2: Don't warn when delete inode fails on ro filesystem
    GFS2: Update docs
    GFS2: Umount recovery race fix
    GFS2: Remove a couple of unused sysfs entries
    GFS2: Add commit= mount option
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (26 commits)
    amd64_edac: add MAINTAINERS entry
    EDAC: do not enable modules by default
    amd64_edac: do not enable module by default
    amd64_edac: add module registration routines
    amd64_edac: add ECC reporting initializers
    amd64_edac: add EDAC core-related initializers
    amd64_edac: add error decoding logic
    amd64_edac: add ECC chipkill syndrome mapping table
    amd64_edac: add per-family descriptors
    amd64_edac: add F10h-and-later methods-p3
    amd64_edac: add F10h-and-later methods-p2
    amd64_edac: add F10h-and-later methods-p1
    amd64_edac: add k8-specific methods
    amd64_edac: assign DRAM chip select base and mask in a family-specific way
    amd64_edac: add helper to dump relevant registers
    amd64_edac: add DRAM address type conversion facilities
    amd64_edac: add functionality to compute the DRAM hole
    amd64_edac: add sys addr to memory controller mapping helpers
    amd64_edac: add memory scrubber interface
    amd64_edac: add MCA error types
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (266 commits)
    sh: Tie sparseirq in to Kconfig.
    sh: Wire up sys_rt_tgsigqueueinfo.
    sh: Fix sys_pwritev() syscall table entry for sh32.
    sh: Fix sh4a llsc-based cmpxchg()
    sh: sh7724: Add JPU support
    sh: sh7724: INTC setting update
    sh: sh7722 clock framework rewrite
    sh: sh7366 clock framework rewrite
    sh: sh7343 clock framework rewrite
    sh: sh7724 clock framework rewrite V3
    sh: sh7723 clock framework rewrite V2
    sh: add enable()/disable()/set_rate() to div6 code
    sh: add AP325RXA mode pin configuration
    sh: add Migo-R mode pin configuration
    sh: sh7722 mode pin definitions
    sh: sh7724 mode pin comments
    sh: sh7723 mode pin V2
    sh: rework mode pin code
    sh: clock div6 helper code
    sh: clock div4 frequency table offset fix
    ...

    Linus Torvalds
     
  • * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (138 commits)
    KVM: Prevent overflow in largepages calculation
    KVM: Disable large pages on misaligned memory slots
    KVM: Add VT-x machine check support
    KVM: VMX: Rename rmode.active to rmode.vm86_active
    KVM: Move "exit due to NMI" handling into vmx_complete_interrupts()
    KVM: Disable CR8 intercept if tpr patching is active
    KVM: Do not migrate pending software interrupts.
    KVM: inject NMI after IRET from a previous NMI, not before.
    KVM: Always request IRQ/NMI window if an interrupt is pending
    KVM: Do not re-execute INTn instruction.
    KVM: skip_emulated_instruction() decode instruction if size is not known
    KVM: Remove irq_pending bitmap
    KVM: Do not allow interrupt injection from userspace if there is a pending event.
    KVM: Unprotect a page if #PF happens during NMI injection.
    KVM: s390: Verify memory in kvm run
    KVM: s390: Sanity check on validity intercept
    KVM: s390: Unlink vcpu on destroy - v2
    KVM: s390: optimize float int lock: spin_lock_bh --> spin_lock
    KVM: s390: use hrtimer for clock wakeup from idle - v2
    KVM: s390: Fix memory slot versus run - v3
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    cifs: remove never-used in6_addr option
    cifs: add addr= mount option alias for ip=
    [CIFS] Add mention of new mount parm (forceuid) to cifs readme
    cifs: make overriding of ownership conditional on new mount options
    cifs: fix IPv6 address length check
    cifs: clean up set_cifs_acl interfaces
    cifs: reorganize get_cifs_acl
    [CIFS] Update readme to indicate change to default mount (serverino)
    cifs: make serverino the default when mounting
    cifs: rename cifs_iget to cifs_root_iget
    cifs: make cnvrtDosUnixTm take a little-endian args and an offset
    cifs: have cifs_NTtimeToUnix take a little-endian arg
    cifs: tighten up default file_mode/dir_mode
    cifs: fix artificial limit on reading symlinks

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (44 commits)
    nommu: Provide mmap_min_addr definition.
    TOMOYO: Add description of lists and structures.
    TOMOYO: Remove unused field.
    integrity: ima audit dentry_open failure
    TOMOYO: Remove unused parameter.
    security: use mmap_min_addr indepedently of security models
    TOMOYO: Simplify policy reader.
    TOMOYO: Remove redundant markers.
    SELinux: define audit permissions for audit tree netlink messages
    TOMOYO: Remove unused mutex.
    tomoyo: avoid get+put of task_struct
    smack: Remove redundant initialization.
    integrity: nfsd imbalance bug fix
    rootplug: Remove redundant initialization.
    smack: do not beyond ARRAY_SIZE of data
    integrity: move ima_counts_get
    integrity: path_check update
    IMA: Add __init notation to ima functions
    IMA: Minimal IMA policy and boot param for TCB IMA policy
    selinux: remove obsolete read buffer limit from sel_read_bool
    ...

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (49 commits)
    ext4: Avoid corrupting the uninitialized bit in the extent during truncate
    ext4: Don't treat a truncation of a zero-length file as replace-via-truncate
    ext4: fix dx_map_entry to support 256k directory blocks
    ext4: truncate the file properly if we fail to copy data from userspace
    ext4: Avoid leaking blocks after a block allocation failure
    ext4: Change all super.c messages to print the device
    ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle()
    ext4: super.c whitespace cleanup
    jbd2: Fix minor typos in comments in fs/jbd2/journal.c
    ext4: Clean up calls to ext4_get_group_desc()
    ext4: remove unused function __ext4_write_dirty_metadata
    ext2: Fix memory leak in ext2_fill_super() in case of a failed mount
    ext3: Fix memory leak in ext3_fill_super() in case of a failed mount
    ext4: Fix memory leak in ext4_fill_super() in case of a failed mount
    ext4: down i_data_sem only for read when walking tree for fiemap
    ext4: Add a comprehensive block validity check to ext4_get_blocks()
    ext4: Clean up ext4_get_blocks() so it does not depend on bh_result->b_state
    ext4: Merge ext4_da_get_block_write() into mpage_da_map_blocks()
    ext4: Add BUG_ON debugging checks to noalloc_get_block_write()
    ext4: Add documentation to the ext4_*get_block* functions
    ...

    Linus Torvalds
     
  • * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (28 commits)
    ide-tape: fix debug call
    alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC
    ide-dma: don't reset request fields on dma_timeout_retry()
    ide: drop rq->data handling from ide_map_sg()
    ide-atapi: kill unused fields and callbacks
    ide-tape: simplify read/write functions
    ide-tape: use byte size instead of sectors on rw issue functions
    ide-tape: unify r/w init paths
    ide-tape: kill idetape_bh
    ide-tape: use standard data transfer mechanism
    ide-tape: use single continuous buffer
    ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len
    ide-tape,floppy: fix failed command completion after request sense
    ide-pm: don't abuse rq->data
    ide-cd,atapi: use bio for internal commands
    ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer
    ide-cd: convert to using generic sense request
    ide: add helpers for preparing sense requests
    ide-cd: don't abuse rq->buffer
    ide-atapi: don't abuse rq->buffer
    ...

    Linus Torvalds
     
  • Slab is initialized before the console subsystem so use the slab allocator in
    vgacon_scrollback_startup().

    Signed-off-by: Pekka Enberg

    Pekka Enberg
     
  • Fixes the following problem:

    [ 0.000000] Experimental hierarchical RCU init done.
    [ 0.000000] NR_IRQS:4352 nr_irqs:256
    [ 0.000000] ------------[ cut here ]------------
    [ 0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x40/0x7e()
    [ 0.000000] Hardware name: To Be Filled By O.E.M.
    [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #59709
    [ 0.000000] Call Trace:
    [ 0.000000] [] ? alloc_arch_preferred_bootmem+0x40/0x7e
    [ 0.000000] [] warn_slowpath_common+0x88/0xcb
    [ 0.000000] [] warn_slowpath_null+0x27/0x3d
    [ 0.000000] [] alloc_arch_preferred_bootmem+0x40/0x7e
    [ 0.000000] [] ___alloc_bootmem_nopanic+0x4e/0xec
    [ 0.000000] [] ___alloc_bootmem+0x20/0x61
    [ 0.000000] [] __alloc_bootmem+0x1e/0x34
    [ 0.000000] [] early_irq_init+0x6d/0x118
    [ 0.000000] [] ? early_idt_handler+0x0/0x71
    [ 0.000000] [] start_kernel+0x192/0x394
    [ 0.000000] [] ? early_idt_handler+0x0/0x71
    [ 0.000000] [] x86_64_start_reservations+0xb4/0xcf
    [ 0.000000] [] ? __init_begin+0x0/0x140
    [ 0.000000] [] x86_64_start_kernel+0x158/0x17b
    [ 0.000000] ---[ end trace a7919e7f17c0a725 ]---
    [ 0.000000] Fast TSC calibration using PIT
    [ 0.000000] Detected 2002.510 MHz processor.
    [ 0.004000] Console: colour VGA+ 80x25

    Reported-by: Ingo Molnar
    Signed-off-by: Pekka Enberg

    Pekka Enberg
     
  • Lets not use the bootmem allocator in cpupri_init() as slab is already up when
    it is run.

    Cc: Ingo Molnar
    Cc: Linus Torvalds
    Cc: Yinghai Lu
    Signed-off-by: Pekka Enberg

    Pekka Enberg
     
  • Slab is initialized when sched_init() runs now so lets use alloc_cpumask_var().

    Cc: Ingo Molnar
    Cc: Linus Torvalds
    Cc: Yinghai Lu
    Signed-off-by: Pekka Enberg

    Pekka Enberg
     
  • The bootmem allocator is no longer available for page_cgroup_init() because we
    set up the kernel slab allocator much earlier now.

    Cc: Ingo Molnar
    Cc: Johannes Weiner
    Cc: Linus Torvalds
    Signed-off-by: Yinghai Lu
    Signed-off-by: Pekka Enberg

    Yinghai Lu