06 Mar, 2010

4 commits

  • Update Documentation/device-mapper/snapshot.txt to cover "How to
    determine when a snapshot has finished merging".

    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     
  • Remove the dm_get() in dm_table_get_md() because dm_table_get_md() could
    be called from presuspend/postsuspend, which are called while
    mapped_device is in DMF_FREEING state, where dm_get() is not allowed.

    Justification for that is the lifetime of both objects: As far as the
    current dm design/implementation, mapped_device is never freed while
    targets are doing something, because dm core waits for targets to become
    quiet in dm_put() using presuspend/postsuspend. So targets should be
    able to touch mapped_device without holding reference count of the
    mapped_device, and we should allow targets to touch mapped_device even
    if it is in DMF_FREEING state.

    Backgrounds:
    I'm trying to remove the multipath internal queue, since dm core now has
    a generic queue for request-based dm. In the patch-set, the multipath
    target wants to request dm core to start/stop queue. One of such
    start/stop requests can happen during postsuspend() while the target
    waits for pg-init to complete, because the target stops queue when
    starting pg-init and tries to restart it when completing pg-init. Since
    queue belongs to mapped_device, it involves calling dm_table_get_md()
    and dm_put(). On the other hand, postsuspend() is called in dm_put()
    for mapped_device which is in DMF_FREEING state, and that triggers
    BUG_ON(DMF_FREEING) in the 2nd dm_put().

    I had tried to solve this problem by changing only multipath not to
    touch mapped_device which is in DMF_FREEING state, but I couldn't and I
    came up with a question why we need dm_get() in dm_table_get_md().

    Signed-off-by: Kiyoshi Ueda
    Signed-off-by: Jun'ichi Nomura
    Signed-off-by: Alasdair G Kergon

    Kiyoshi Ueda
     
  • This patch adds two minor fixes while processing device mapper path activation.

    Skip failed paths while calling activate_path. If the path is already failed
    then activate_path will fail for sure. We don't have to call in that case. In
    some case this might cause prolonged retries unnecessarily.

    Change the misleading message if the path being activated fails with SCSI_DH_NOSYS.

    Signed-off-by: Babu Moger
    Signed-off-by: Alasdair G Kergon

    Moger, Babu
     
  • This patch removes some unnecessary argument casting. There is no
    functional change with this patch.

    Passes 'struct pgpath' through to pg_init_done() instead of the enclosed
    'struct dm_path'.

    Tested the changes with LSI storage..

    CC: Chandra Seetharaman
    Signed-off-by: Babu Moger
    Acked-by: Kiyoshi Ueda
    Signed-off-by: Alasdair G Kergon

    Moger, Babu
     

05 Mar, 2010

6 commits

  • * 'for-linus' of git://git.open-osd.org/linux-open-osd:
    exofs: groups support
    exofs: Prepare for groups
    exofs: Error recovery if object is missing from storage
    exofs: convert io_state to use pages array instead of bio at input
    exofs: RAID0 support
    exofs: Define on-disk per-inode optional layout attribute
    exofs: unindent exofs_sbi_read
    exofs: Move layout related members to a layout structure
    exofs: Recover in the case of read-passed-end-of-file
    exofs: Micro-optimize exofs_i_info
    exofs: debug print even less

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc64: Make prom entry spinlock NMI safe.
    sparc64: Kill off old sys_perfctr system call and state.
    sparc: Update defconfigs.
    sparc: Provide io{read,write}{16,32}be().

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6: (49 commits)
    drivers/ide: Fix continuation line formats
    ide: fixed section mismatch warning in cmd640.c
    ide: ide_timing_compute() fixup
    ide: make ide_get_best_pio_mode() static
    via82cxxx: use ->pio_mode value to determine pair device speed
    tx493xide: use ->pio_mode value to determine pair device speed
    siimage: use ->pio_mode value to determine pair device speed
    palm_bk3710: use ->pio_mode value to determine pair device speed
    it821x: use ->pio_mode value to determine pair device speed
    cs5536: use ->pio_mode value to determine pair device speed
    cs5535: use ->pio_mode value to determine pair device speed
    cmd64x: fix handling of address setup timings
    amd74xx: use ->pio_mode value to determine pair device speed
    alim15x3: fix handling of UDMA enable bit
    alim15x3: fix handling of DMA timings
    alim15x3: fix handling of command timings
    alim15x3: fix handling of address setup timings
    ide-timings: use ->pio_mode value to determine fastest PIO speed
    ide: change ->set_dma_mode method parameters
    ide: change ->set_pio_mode method parameters
    ...

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (28 commits)
    ioat: cleanup ->timer_fn() and ->cleanup_fn() prototypes
    ioat3: interrupt coalescing
    ioat: close potential BUG_ON race in the descriptor cleanup path
    ioat2: kill pending flag
    ioat3: use ioat2_quiesce()
    ioat3: cleanup, don't enable DCA completion writes
    DMAENGINE: COH 901 318 lli sg offset fix
    DMAENGINE: COH 901 318 configure channel direction
    DMAENGINE: COH 901 318 remove irq counting
    DMAENGINE: COH 901 318 descriptor pool refactoring
    DMAENGINE: COH 901 318 cleanups
    dma: Add MPC512x DMA driver
    Debugging options for the DMA engine subsystem
    iop-adma: redundant/wrong tests in iop_*_count()?
    dmatest: fix handling of an even number of xor_sources
    dmatest: correct raid6 PQ test
    fsldma: Fix cookie issues
    fsldma: Fix cookie issues
    dma: cases IPU_PIX_FMT_BGRA32, BGR32 and ABGR32 are the same in ipu_ch_param_set_size()
    dma: make Open Firmware device id constant
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
    init: Open /dev/console from rootfs
    mqueue: fix typo "failues" -> "failures"
    mqueue: only set error codes if they are really necessary
    mqueue: simplify do_open() error handling
    mqueue: apply mathematics distributivity on mq_bytes calculation
    mqueue: remove unneeded info->messages initialization
    mqueue: fix mq_open() file descriptor leak on user-space processes
    fix race in d_splice_alias()
    set S_DEAD on unlink() and non-directory rename() victims
    vfs: add NOFOLLOW flag to umount(2)
    get rid of ->mnt_parent in tomoyo/realpath
    hppfs can use existing proc_mnt, no need for do_kern_mount() in there
    Mirror MS_KERNMOUNT in ->mnt_flags
    get rid of useless vfsmount_lock use in put_mnt_ns()
    Take vfsmount_lock to fs/internal.h
    get rid of insanity with namespace roots in tomoyo
    take check for new events in namespace (guts of mounts_poll()) to namespace.c
    Don't mess with generic_permission() under ->d_lock in hpfs
    sanitize const/signedness for udf
    nilfs: sanitize const/signedness in dealing with ->d_name.name
    ...

    Fix up fairly trivial (famous last words...) conflicts in
    drivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c

    Linus Torvalds
     
  • * git://git.infradead.org/battery-2.6:
    power_supply: bq27x00: fix voltage and current units
    power_supply: bq27x00: add status and time properties
    power_supply: bq27x00: add BQ27500 support
    power_supply: bq27x00: fix temperature conversion
    power_supply: bq27x00: remove unused struct fields
    power_supply: bq27x00: remove double endian swap
    da9030_battery: fix spelling in comment
    wm97xx_battery: Clean up some warnings

    Linus Torvalds
     

04 Mar, 2010

30 commits