25 Apr, 2009

4 commits


24 Apr, 2009

36 commits

  • * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: add parameter to microblaze_read()
    microblaze: Use CFLAGS_KERNEL instead of CFLAGS
    microblaze: Add STATE_SAVE_ARG_SPACE for noMMU kernel too
    microblaze: Do not check use_dcache
    microblaze: Do not use PVR configuration for broken MB version
    microblaze: Fix USR1/2 pvr printing message
    microblaze: iowrite upon timeout
    microblaze: Correspond CONFIG...PCMP in Makefile/Kconfig
    microblaze: Remove redundant variable
    microblaze: Move start_thread to process.c
    microblaze: Add missing preadv and pwritev syscalls
    microblaze: Add missing declaration for die and _exception func
    microblaze: Remove sparse error in traps.c
    microblaze: Move task_pt_regs up
    microblaze: Rename kernel_mode to pt_mode in pt_regs
    microblaze: Remove uncache shadow condition
    microblaze: Remove while(1) loop from show_regs function
    microblaze: Remove unneded per cpu SYSCALL_SAVE variable

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits)
    ACPI, i915: Register ACPI video even when not modesetting
    Revert "ACPICA: delete check for AML access to port 0x81-83"
    I/O port protection: update for windows compatibility.
    sony-laptop: always try to unblock rfkill on load
    sony-laptop: fix bogus error message display on resume
    ACPI: EC: Fix ACPI EC resume non-query interrupt message
    sony-laptop: SNC input event 38 fix
    sony-laptop: SNC 127 Initialization Fix
    sony-laptop: Duplicate SNC 127 Event Fix
    ACPI: prevent processor.max_cstate=0 boot crash
    ACPI/hpet: prevent boot hang when hpet=force used on ICH-4M
    ACPI: delete obsolete "bus master activity" proc field
    ACPI: idle: mark_tsc_unstable() at init-time, not run-time
    ACPI: add /sys/firmware/acpi/interrupts/sci_not counter
    ACPI video: fix an error when the brightness levels on AC and on Battery are same
    acpi-cpufreq: Do not let get_measured perf depend on internal variable
    acpi-cpufreq: style-only: add parens to math expression
    acpi-cpufreq: Cleanup: Use printk_once
    x86, acpi_cpufreq: Fix the NULL pointer dereference in get_measured_perf
    thinkpad-acpi: bump up version to 0.23
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68knommu: update the default config for the ColdFire 5407C3 board
    m68knommu: update the default config for the ColdFire 5307C3 board
    m68knommu: update the default config for the ColdFire 5257EVB board
    m68knommu: update the default config for the ColdFire 5249EVB.
    m68knommu: add a defconfig for the ColdFire M5272C3 board
    m68knommu: update the defconfig for the ColdFire 5208evb board
    m68knommu: fix DMA support for ColdFire
    m68knommu: remove unused kernel stats offsets
    m68knommu: fix missing .data.cacheline_aligned section
    m68knommu: Fixed GPIO pin initialization for CONFIG_M5271 FEC.

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: Fix potential inode allocation soft lockup in Orlov allocator
    ext4: Make the extent validity check more paranoid
    jbd: use SWRITE_SYNC_PLUG when writing synchronous revoke records
    jbd2: use SWRITE_SYNC_PLUG when writing synchronous revoke records
    ext4: really print the find_group_flex fallback warning only once

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] 5460/1: Orion: reduce namespace pollution
    [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config
    [ARM] 5457/1: mach-imx gpio buildfix
    [ARM] 5456/1: add sys_preadv and sys_pwritev
    [ARM] pxa/pcm990: start external GPIOs immediately after built-in ones
    [ARM] pxa/palm27x: General fix for Palm27x aSoC driver
    [ARM] pxa/mioa701: use GPIO95 as AC97 reset line
    [ARM] pxa: merge AC97 platform data structures
    [ARM] pxa/magician: remove un-necessary #include of pxa-regs.h and hardware.h

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: pwc : do not pass stack allocated buffers to USB core.
    USB: otg: Fix bug on remove path without transceiver
    USB: correct error handling in cdc-wdm
    USB: removal of tty->low_latency hack dating back to the old serial code
    USB: serial: sierra driver bug fix for composite interface
    USB: gadget: omap_udc uses platform_driver_probe()
    USB: ci13xxx_udc: fix build error
    USB: musb: Prevent multiple includes of musb.h
    USB: pass mem_flags to dma_alloc_coherent
    USB: g_file_storage: fix use-after-free bug when closing files
    USB: ehci-sched.c: EHCI SITD scheduling bugfix
    USB: fix mos7840 problem with minor numbers
    USB: mos7840: add new device id
    USB: musb: fix build when !CONFIG_PM
    USB: musb: Remove my email address from few musb related drivers
    USB: Gadget: MIPS CI13xxx UDC bugfixes
    USB: Unusual Device support for Gold MP3 Player Energy
    USB: serial: fix lifetime and locking problems

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
    eCryptfs: Larger buffer for encrypted symlink targets
    eCryptfs: Lock lower directory inode mutex during lookup
    eCryptfs: Remove ecryptfs_unlink_sigs warnings
    eCryptfs: Fix data corruption when using ecryptfs_passthrough
    eCryptfs: Print FNEK sig properly in /proc/mounts
    eCryptfs: NULL pointer dereference in ecryptfs_send_miscdev()
    eCryptfs: Copy lower inode attrs before dentry instantiation

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Update defconfigs for 2.6.30-rc3
    m68k,m68knommu: Wire up preadv and pwritev
    scsi: a4000 - Correct driver unregistration in case of failure

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] update default configuration.
    [S390] omit frame pointers on s390 when possible
    [S390] Use tape_generic_offline directly.
    [S390] /proc/stat idle field for idle cpus
    [S390] appldata: avoid deadlock with appldata_mem
    [S390] ipl: fix compile breakage

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
    GFS2: Ensure that the inode goal block settings are updated
    GFS2: Fix bug in block allocation
    bitops: Add __ffs64 bitop

    Linus Torvalds
     
  • * 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: Unregister cpufreq notifier on unload
    KVM: x86: release time_page on vcpu destruction
    KVM: Fix overlapping check for memory slots
    KVM: MMU: disable global page optimization
    KVM: ia64: fix locking order entering guest
    KVM: MMU: Fix off-by-one calculating large page count

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
    MAINTAINERS: update IDE entry
    palm_bk3710: palm_bk3710_udmatimings[] CodingStyle fixup
    palm_bk3710: those registers/bitfields don't exist
    mediabay: fix build for CONFIG_BLOCK=n
    ide: Stop disks on reboot for laptop which cuts power
    ide-cd: fix kernel crash on hppa regression
    palm_bk3710: UDMA performance fix

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Add quirk for Packard Bell RS65
    [ALSA] intel8x0: another attempt to fix ac97_clock measure routine
    [ALSA] ac97_codec: increase timeout for analog subsections
    ALSA: hda - Add quirks for Realtek codecs
    ALSA: hda - Fix alc662_init_verbs
    ALSA: keywest: Convert to new-style i2c driver
    ALSA: AOA: Convert onyx and tas codecs to new-style i2c drivers
    ALSA: Atiixp: Add SSID for mute_led quirk (unknown HP model)
    ALSA: us122l: add snd_us122l_free()
    ASoC: Fix warning in wm9705
    ASoC: OMAP: Update contact addresses
    ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR
    ALSA: us122l: Fix signedness in comparisions

    Linus Torvalds
     
  • The release path for a disconnected device frees the object then unlocks
    the mutex in the freed object...

    Found by Dan Carpenter using Smatch

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Remove my name and emailaddress from note in the source. Wincor Nixdorf
    only has some ITE-chips on their mainboards, other chips are not
    available for me for testing.

    Signed-off-by: Niels de Vos
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Niels de Vos
     
  • Wrong types on IRQ handler

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    cfq-iosched: cache prio_tree root in cfqq->p_root
    cfq-iosched: fix bug with aliased request and cooperation detection
    cfq-iosched: clear ->prio_trees[] on cfqd alloc
    block: fix intermittent dm timeout based oops
    umem: fix request_queue lock warning
    block: simplify I/O stat accounting
    pktcdvd.h should include mempool.h
    cfq-iosched: use the default seek distance when there aren't enough seek samples
    cfq-iosched: make seek_mean converge more quickly
    block: make blk_abort_queue() ignore non-request based devices
    block: include empty disks in /proc/diskstats
    bio: use bio_kmalloc() in copy/map functions
    bio: fix bio_kmalloc()
    block: fix queue bounce limit setting
    block: fix SG_IO vector request data length handling
    scatterlist: make sure sg_miter_next() doesn't return 0 sized mappings

    Linus Torvalds
     
  • Update the defconfig for the ASB2303 evaluation board.

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

    David Howells
     
  • Slow-work appears to delete its timer as soon as the first user
    unregisters, even though other users could be active. At the same time, it
    never seems to delete slow_work_oom_timer. Arrange for both to happen in
    the shutdown path.

    Signed-off-by: Jonathan Corbet
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Jonathan Corbet
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (94 commits)
    netfilter: ctnetlink: fix gcc warning during compilation
    net/netrom: Fix socket locking
    netlabel: Always remove the correct address selector
    ucc_geth.c: Fix upsmr setting in RMII mode
    8139too: fix HW initial flow
    af_iucv: Fix race when queuing incoming iucv messages
    af_iucv: Test additional sk states in iucv_sock_shutdown
    af_iucv: Reject incoming msgs if RECV_SHUTDOWN is set
    af_iucv: fix oops in iucv_sock_recvmsg() for MSG_PEEK flag
    af_iucv: consider state IUCV_CLOSING when closing a socket
    iwlwifi: DMA fixes
    iwlwifi: add debugging for TX path
    mwl8: fix build warning.
    mac80211: fix alignment calculation bug
    mac80211: do not print WARN if config interface
    iwl3945: use cancel_delayed_work_sync to cancel rfkill_poll
    iwlwifi: fix EEPROM validation mask to include OTP only devices
    atmel: fix netdev ops conversion
    pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM
    mlx4_en: Fix cleanup if workqueue create in mlx4_en_add() fails
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc: Fix bus type probing for ESP and LE devices.
    sparc32: Update defconfig.
    sparc64: Update defconfig.

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    powerpc: Fix modular build of ide-pmac when mediabay is built in
    powerpc/pasemi: Fix build error on UP
    powerpc: Make macintosh/mediabay driver depend on CONFIG_BLOCK
    maintainers: Fix PS3 patterns
    powerpc/ps3: Fix CONFIG_PS3_FLASH=n build warning
    powerpc/32: Don't clobber personality flags on exec
    powerpc: Fix crash on CPU hotplug
    powerpc/85xx: Remove defconfigs that mpc85xx_{smp_}defconfig cover
    powerpc/85xx: Added SMP defconfig
    powerpc/85xx: Enabled a bunch of FSL specific drivers/options
    powerpc/85xx: Updated generic mpc85xx_defconfig
    powerpc: don't disable SATA interrupts on Freescale MPC8610 HPCD
    fsl_rio: Pass the proper device to dma mapping routines
    powerpc: Fix of_node_put() exit path in of_irq_map_one()
    powerpc/5200: defconfig updates
    powerpc/5200: Add FLASH nodes to lite5200 device tree
    powerpc/device-tree: Document MTD nodes with multiple "reg" tuples
    powerpc/of-device-tree: Factor MTD physmap bindings out of booting-without-of
    powerpc/5200: Bring the legacy fsl_spi_platform_data hooks back

    Linus Torvalds
     
  • Len Brown
     
  • Len Brown
     
  • Len Brown
     
  • Len Brown
     
  • Len Brown
     
  • write_lock(¤t->fs->lock) guarantees we can't wrongly miss
    LSM_UNSAFE_SHARE, this is what we care about. Use rcu_read_lock()
    instead of ->siglock to iterate over the sub-threads. We must see
    all CLONE_THREAD|CLONE_FS threads which didn't pass exit_fs(), it
    takes fs->lock too.

    With or without this patch we can miss the freshly cloned thread
    and set LSM_UNSAFE_SHARE, we don't care.

    Signed-off-by: Oleg Nesterov
    Acked-by: Roland McGrath
    [ Fixed lock/unlock typo - Hugh ]
    Acked-by: Hugh Dickins
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • If do_execve() fails after check_unsafe_exec(), it clears fs->in_exec
    unconditionally. This is wrong if we race with our sub-thread which
    also does do_execve:

    Two threads T1 and T2 and another process P, all share the same
    ->fs.

    T1 starts do_execve(BAD_FILE). It calls check_unsafe_exec(), since
    ->fs is shared, we set LSM_UNSAFE but not ->in_exec.

    P exits and decrements fs->users.

    T2 starts do_execve(), calls check_unsafe_exec(), now ->fs is not
    shared, we set fs->in_exec.

    T1 continues, open_exec(BAD_FILE) fails, we clear ->in_exec and
    return to the user-space.

    T1 does clone(CLONE_FS /* without CLONE_THREAD */).

    T2 continues without LSM_UNSAFE_SHARE while ->fs is shared with
    another process.

    Change check_unsafe_exec() to return res = 1 if we set ->in_exec, and change
    do_execve() to clear ->in_exec depending on res.

    When do_execve() suceeds, it is safe to clear ->in_exec unconditionally.
    It can be set only if we don't share ->fs with another process, and since
    we already killed all sub-threads either ->in_exec == 0 or we are the
    only user of this ->fs.

    Also, we do not need fs->lock to clear fs->in_exec.

    Signed-off-by: Oleg Nesterov
    Acked-by: Roland McGrath
    Acked-by: Hugh Dickins
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Currently we look it up from ->ioprio, but ->ioprio can change if
    either the process gets its IO priority changed explicitly, or if
    cfq decides to temporarily boost it. So if we are unlucky, we can
    end up attempting to remove a node from a different rbtree root than
    where it was added.

    Fix this by using ->org_ioprio as the prio_tree index, since that
    will only change for explicit IO priority settings (not for a boost).
    Additionally cache the rbtree root inside the cfqq, then we don't have
    to add code to reinsert the cfqq in the prio_tree if IO priority changes.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • cfq_prio_tree_lookup() should return the direct match, yet it always
    returns zero. Fix that.

    cfq_prio_tree_add() assumes that we don't get a direct match, while
    it is very possible that we do. Using O_DIRECT, you can have different
    cfqq with matching requests, since you don't have the page cache
    to serialize things for you. Fix this bug by only adding the cfqq if
    there isn't an existing match.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Not strictly needed, but we should make it clear that we init the
    rbtree roots here.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Very rarely under stress testing of dm, oopses are occuring as
    something tampers with an old stack frame. This has been traced back
    to blk_abort_queue() leaving a timeout_list pointing to the stack.
    The reason is that sometimes blk_abort_request() won't delete the
    timer (if the request is marked as complete but before the timer has
    been removed, a small race window). Fix this by splicing back from
    the ususally empty list to the q->timeout_list.

    Signed-off-by: Hannes Reinecke
    Signed-off-by: Jens Axboe

    Hannes Reinecke
     
  • The umem driver issues two warnings on boot, due to blk_plug_device() and
    blk_remove_plug() being called without q->queue_lock held. Starting with
    e48ec690 (block: extend queue_flag bitops), the queue_flag_* functions
    warn if q->queue_lock doesn't appear to be locked. In fact, q->queue_lock
    is NULL (though that apparently isn't otherwise a problem as the driver is
    using card->lock for everything).

    Although blk_init_queue() with take a request_fn_proc and spinlock_t*,
    there isn't a corresponding init helper that takes a make_request_fn.
    Setting queue_lock to &card->lock explicitly seems to work fine for me.
    The warning goes away and the device appears to behave.

    [ 1.531881] v2.3 : Micro Memory(tm) PCI memory board block driver
    [ 1.538136] umem 0000:02:01.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
    [ 1.545018] umem 0000:02:01.0: Micro Memory(tm) controller found (PCI Mem Module (Battery Backup))
    [ 1.554176] umem 0000:02:01.0: CSR 0xfc9ffc00 -> 0xffffc200013d0c00 (0x100)
    [ 1.561279] umem 0000:02:01.0: Size 1048576 KB, Battery 1 Disabled (FAILURE), Battery 2 Disabled (FAILURE)
    [ 1.571114] umem 0000:02:01.0: Window size 16777216 bytes, IRQ 20
    [ 1.577304] umem 0000:02:01.0: memory NOT initialized. Consider over-writing whole device.
    [ 1.585989] umema:------------[ cut here ]------------
    [ 1.591775] WARNING: at include/linux/blkdev.h:492 blk_plug_device+0x6d/0x106()
    [ 1.592025] Hardware name: H8SSL
    [ 1.592025] Modules linked in:
    [ 1.592025] Pid: 1, comm: swapper Not tainted 2.6.29 #8
    [ 1.592025] Call Trace:
    [ 1.592025] [] warn_slowpath+0xd3/0xf2
    [ 1.592025] [] ? save_trace+0x3f/0x9b
    [ 1.592025] [] ? add_lock_to_list+0x7a/0xba
    [ 1.592025] [] ? validate_chain+0xb3b/0xce8
    [ 1.592025] [] ? mm_make_request+0x27/0x59
    [ 1.592025] [] ? mm_make_request+0x27/0x59
    [ 1.592025] [] ? __lock_acquire+0x74e/0x7b9
    [ 1.592025] [] ? get_lock_stats+0x34/0x5e
    [ 1.592025] [] ? put_lock_stats+0xe/0x27
    [ 1.592025] [] ? mm_make_request+0x27/0x59
    [ 1.592025] [] blk_plug_device+0x6d/0x106
    [ 1.592025] [] mm_make_request+0x46/0x59
    [ 1.592025] [] generic_make_request+0x335/0x3cf
    [ 1.592025] [] ? mempool_alloc_slab+0x11/0x13
    [ 1.592025] [] ? mempool_alloc+0x45/0x101
    [ 1.592025] [] ? put_lock_stats+0xe/0x27
    [ 1.592025] [] submit_bio+0x10a/0x119
    [ 1.592025] [] submit_bh+0xe5/0x109
    [ 1.592025] [] block_read_full_page+0x2aa/0x2cb
    [ 1.592025] [] ? blkdev_get_block+0x0/0x4c
    [ 1.592025] [] ? _spin_unlock_irq+0x36/0x51
    [ 1.592025] [] ? __lru_cache_add+0x92/0xb2
    [ 1.592025] [] blkdev_readpage+0x13/0x15
    [ 1.592025] [] read_cache_page_async+0x90/0x134
    [ 1.592025] [] ? blkdev_readpage+0x0/0x15
    [ 1.592025] [] ? adfspart_check_ICS+0x0/0x16c
    [ 1.592025] [] read_cache_page+0xe/0x45
    [ 1.592025] [] read_dev_sector+0x2e/0x93
    [ 1.592025] [] adfspart_check_ICS+0x28/0x16c
    [ 1.592025] [] ? trace_hardirqs_on+0xd/0xf
    [ 1.592025] [] ? adfspart_check_ICS+0x0/0x16c
    [ 1.592025] [] rescan_partitions+0x168/0x2fb
    [ 1.592025] [] __blkdev_get+0x259/0x336
    [ 1.592025] [] ? kobject_put+0x47/0x4b
    [ 1.592025] [] blkdev_get+0xb/0xd
    [ 1.592025] [] register_disk+0xc4/0x12b
    [ 1.592025] [] add_disk+0xc3/0x12d
    [ 1.592025] [] ? mm_init+0x0/0x1a5
    [ 1.592025] [] mm_init+0x129/0x1a5
    [ 1.592025] [] ? mm_init+0x0/0x1a5
    [ 1.592025] [] _stext+0x56/0x130
    [ 1.592025] [] ? register_irq_proc+0xae/0xca
    [ 1.592025] [] ? proc_pid_lookup+0xb4/0x18b
    [ 1.592025] [] kernel_init+0x132/0x18b
    [ 1.592025] [] child_rip+0xa/0x20
    [ 1.592025] [] ? restore_args+0x0/0x30
    [ 1.592025] [] ? kernel_init+0x0/0x18b
    [ 1.592025] [] ? child_rip+0x0/0x20
    [ 1.592025] ---[ end trace 7150b3b86da74e1e ]---
    [ 1.889858] ------------[ cut here ]------------[ve_plug+0x5f/0x91()
    [ 1.893848] Hardware name: H8SSL
    [ 1.893848] Modules linked in:
    [ 1.893848] Pid: 1, comm: swapper Tainted: G W 2.6.29 #8
    [ 1.893848] Call Trace:
    [ 1.893848] [] warn_slowpath+0xd3/0xf2
    [ 1.893848] [] ? trace_hardirqs_on_thunk+0x3a/0x3f
    [ 1.893848] [] ? restore_args+0x0/0x30
    [ 1.893848] [] ? __atomic_notifier_call_chain+0x0/0xb2
    [ 1.893848] [] ? _spin_unlock_irq+0x31/0x51
    [ 1.893848] [] ? _spin_unlock_irq+0x4d/0x51
    [ 1.893848] [] ? mm_make_request+0x4e/0x59
    [ 1.893848] [] ? get_lock_stats+0x34/0x5e
    [ 1.893848] [] ? put_lock_stats+0x25/0x27
    [ 1.893848] [] ? mm_unplug_device+0x25/0x50
    [ 1.893848] [] blk_remove_plug+0x5f/0x91
    [ 1.893848] [] mm_unplug_device+0x30/0x50
    [ 1.893848] [] blk_unplug+0x78/0x7d
    [ 1.893848] [] blk_backing_dev_unplug+0xd/0xf
    [ 1.893848] [] block_sync_page+0x4a/0x4c
    [ 1.893848] [] sync_page+0x44/0x4d
    [ 1.893848] [] __wait_on_bit_lock+0x42/0x8a
    [ 1.893848] [] ? sync_page+0x0/0x4d
    [ 1.893848] [] __lock_page+0x64/0x6b
    [ 1.893848] [] ? wake_bit_function+0x0/0x2a
    [ 1.893848] [] read_cache_page_async+0xd4/0x134
    [ 1.893848] [] ? blkdev_readpage+0x0/0x15
    [ 1.893848] [] ? adfspart_check_ICS+0x0/0x16c
    [ 1.893848] [] read_cache_page+0xe/0x45
    [ 1.893848] [] read_dev_sector+0x2e/0x93
    [ 1.893848] [] adfspart_check_ICS+0x28/0x16c
    [ 1.893848] [] ? trace_hardirqs_on+0xd/0xf
    [ 1.893848] [] ? adfspart_check_ICS+0x0/0x16c
    [ 1.893848] [] rescan_partitions+0x168/0x2fb
    [ 1.893848] [] __blkdev_get+0x259/0x336
    [ 1.893848] [] ? kobject_put+0x47/0x4b
    [ 1.893848] [] blkdev_get+0xb/0xd
    [ 1.893848] [] register_disk+0xc4/0x12b
    [ 1.893848] [] add_disk+0xc3/0x12d
    [ 1.893848] [] ? mm_init+0x0/0x1a5
    [ 1.893848] [] mm_init+0x129/0x1a5
    [ 1.893848] [] ? mm_init+0x0/0x1a5
    [ 1.893848] [] _stext+0x56/0x130
    [ 1.893848] [] ? register_irq_proc+0xae/0xca
    [ 1.893848] [] ? proc_pid_lookup+0xb4/0x18b
    [ 1.893848] [] kernel_init+0x132/0x18b
    [ 1.893848] [] child_rip+0xa/0x20
    [ 1.893848] [] ? restore_args+0x0/0x30
    [ 1.893848] [] ? kernel_init+0x0/0x18b
    [ 1.893848] [] ? child_rip+0x0/0x20
    [ 1.893848] ---[ end trace 7150b3b86da74e1f ]---

    Signed-off-by: Sage Weil
    Signed-off-by: Jens Axboe

    Sage Weil
     
  • This simplifies I/O stat accounting switching code and separates it
    completely from I/O scheduler switch code.

    Requests are accounted according to the state of their request queue
    at the time of the request allocation. There is no need anymore to
    flush the request queue when switching I/O accounting state.

    Signed-off-by: Jerome Marchand
    Signed-off-by: Jens Axboe

    Jerome Marchand
     
  • Fix this build error:
    In file included from fs/compat_ioctl.c:104:
    include/linux/pktcdvd.h:285: error: expected specifier-qualifier-list before 'mempool_t'

    Signed-off-by: Alexander Beregalov
    Signed-off-by: Jens Axboe

    Alexander Beregalov