07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

03 Nov, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/linux-dm:
    dm: raid fix device status indicator when array initializing
    dm log userspace: add log device dependency
    dm log userspace: fix comment hyphens
    dm: add thin provisioning target
    dm: add persistent data library
    dm: add bufio
    dm: export dm get md
    dm table: add immutable feature
    dm table: add always writeable feature
    dm table: add singleton feature
    dm kcopyd: add dm_kcopyd_zero to zero an area
    dm: remove superfluous smp_mb
    dm: use local printk ratelimit
    dm table: propagate non rotational flag

    Linus Torvalds
     

01 Nov, 2011

2 commits


27 Oct, 2011

1 commit

  • * 'for-linus' of git://neil.brown.name/md: (34 commits)
    md: Fix some bugs in recovery_disabled handling.
    md/raid5: fix bug that could result in reads from a failed device.
    lib/raid6: Fix filename emitted in generated code
    md.c: trivial comment fix
    MD: Allow restarting an interrupted incremental recovery.
    md: clear In_sync bit on devices added to an active array.
    md: add proper write-congestion reporting to RAID1 and RAID10.
    md: rename "mdk_personality" to "md_personality"
    md/bitmap remove fault injection options.
    md/raid5: typedef removal: raid5_conf_t -> struct r5conf
    md/raid1: typedef removal: conf_t -> struct r1conf
    md/raid10: typedef removal: conf_t -> struct r10conf
    md/raid0: typedef removal: raid0_conf_t -> struct r0conf
    md/multipath: typedef removal: multipath_conf_t -> struct mpconf
    md/linear: typedef removal: linear_conf_t -> struct linear_conf
    md/faulty: remove typedef: conf_t -> struct faulty_conf
    md/linear: remove typedefs: dev_info_t -> struct dev_info
    md: remove typedefs: mirror_info_t -> struct mirror_info
    md: remove typedefs: r10bio_t -> struct r10bio and r1bio_t -> struct r1bio
    md: remove typedefs: mdk_thread_t -> struct md_thread
    ...

    Linus Torvalds
     

11 Oct, 2011

3 commits


26 Sep, 2011

1 commit

  • Fix off-by-one error in validation of write_mostly.

    The user-supplied value given for the 'write_mostly' argument must be an
    index starting at 0. The validation of the supplied argument failed to
    check for 'N' ('>' vs '>='), which would have caused an access beyond the
    end of the array.

    Reported-by: Doug Ledford
    Signed-off-by: Jonathan Brassow
    Signed-off-by: Alasdair G Kergon

    Jonthan Brassow
     

02 Aug, 2011

6 commits

  • Support the MD RAID1 personality through dm-raid.

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • Add the ability to parse and use metadata devices to dm-raid. Although
    not strictly required, without the metadata devices, many features of
    RAID are unavailable. They are used to store a superblock and bitmap.

    The role, or position in the array, of each device must be recorded in
    its superblock. This is to help with fault handling, array reshaping,
    and sanity checks. RAID 4/5/6 devices must be loaded in a specific order:
    in this way, the 'array_position' field helps validate the correctness
    of the mapping when it is loaded. It can be used during reshaping to
    identify which devices are added/removed. Fault handling is impossible
    without this field. For example, when a device fails it is recorded in
    the superblock. If this is a RAID1 device and the offending device is
    removed from the array, there must be a way during subsequent array
    assembly to determine that the failed device was the one removed. This
    is done by correlating the 'array_position' field and the bit-field
    variable 'failed_devices'.

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • Add the write_mostly parameter to RAID1 dm-raid tables.

    This allows the user to set the WriteMostly flag on a RAID1 device that
    should normally be avoided for read I/O.

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • Allow the user to specify the region_size.

    Ensures that the supplied value meets md's constraints, viz. the number of
    regions does not exceed 2^21.

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • A dm target only needs to use include/linux dm headers.

    Signed-off-by: Alasdair G Kergon

    Alasdair G Kergon
     
  • Re-order the parameters so they are handled consistently in the same order
    where defined, parsed and output.

    Only include rebuild parameters in the STATUSTYPE_TABLE output if they were
    supplied in the original table line.

    Correct the parameter count when outputting rebuild: there are two words,
    not one.

    Use case-independent checks for keywords (as in other device-mapper targets).

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     

18 Apr, 2011

1 commit


10 Mar, 2011

1 commit

  • Code has been converted over to the new explicit on-stack plugging,
    and delay users have been converted to use the new API for that.
    So lets kill off the old plugging along with aops->sync_page().

    Signed-off-by: Jens Axboe

    Jens Axboe
     

14 Jan, 2011

1 commit

  • This patch is the skeleton for the DM target that will be
    the bridge from DM to MD (initially RAID456 and later RAID1). It
    provides a way to use device-mapper interfaces to the MD RAID456
    drivers.

    As with all device-mapper targets, the nominal public interfaces are the
    constructor (CTR) tables and the status outputs (both STATUSTYPE_INFO
    and STATUSTYPE_TABLE). The CTR table looks like the following:

    1: raid \
    2: \
    3: ..

    Line 1 contains the standard first three arguments to any device-mapper
    target - the start, length, and target type fields. The target type in
    this case is "raid".

    Line 2 contains the arguments that define the particular raid
    type/personality/level, the required arguments for that raid type, and
    any optional arguments. Possible raid types include: raid4, raid5_la,
    raid5_ls, raid5_rs, raid6_zr, raid6_nr, and raid6_nc. (again, raid1 is
    planned for the future.) The list of required and optional parameters
    is the same for all the current raid types. The required parameters are
    positional, while the optional parameters are given as key/value pairs.
    The possible parameters are as follows:
    Chunk size in sectors.
    [[no]sync] Force/Prevent RAID initialization
    [rebuild ] Rebuild the drive indicated by the index
    [daemon_sleep ] Time between bitmap daemon work to clear bits
    [min_recovery_rate ] Throttle RAID initialization
    [max_recovery_rate ] Throttle RAID initialization
    [max_write_behind ] See '-write-behind=' (man mdadm)
    [stripe_cache ] Stripe cache size for higher RAIDs

    Line 3 contains the list of devices that compose the array in
    metadata/data device pairs. If the metadata is stored separately, a '-'
    is given for the metadata device position. If a drive has failed or is
    missing at creation time, a '-' can be given for both the metadata and
    data drives for a given position.

    Examples:
    # RAID4 - 4 data drives, 1 parity
    # No metadata devices specified to hold superblock/bitmap info
    # Chunk size of 1MiB
    # (Lines separated for easy reading)
    0 1960893648 raid \
    raid4 1 2048 \
    5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81

    # RAID4 - 4 data drives, 1 parity (no metadata devices)
    # Chunk size of 1MiB, force RAID initialization,
    # min recovery rate at 20 kiB/sec/disk
    0 1960893648 raid \
    raid4 4 2048 min_recovery_rate 20 sync\
    5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81

    Performing a 'dmsetup table' should display the CTR table used to
    construct the mapping (with possible reordering of optional
    parameters).

    Performing a 'dmsetup status' will yield information on the state and
    health of the array. The output is as follows:
    1: raid \
    2:

    Line 1 is standard DM output. Line 2 is best shown by example:
    0 1960893648 raid raid4 5 AAAAA 2/490221568
    Here we can see the RAID type is raid4, there are 5 devices - all of
    which are 'A'live, and the array is 2/490221568 complete with recovery.

    Cc: linux-raid@vger.kernel.org
    Signed-off-by: NeilBrown
    Signed-off-by: Jonathan Brassow
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    NeilBrown