18 Dec, 2012

1 commit

  • Pull block driver update from Jens Axboe:
    "Now that the core bits are in, here are the driver bits for 3.8. The
    branch contains:

    - A huge pile of drbd bits that were dumped from the 3.7 merge
    window. Following that, it was both made perfectly clear that
    there is going to be no more over-the-wall pulls and how the
    situation on individual pulls can be improved.

    - A few cleanups from Akinobu Mita for drbd and cciss.

    - Queue improvement for loop from Lukas. This grew into adding a
    generic interface for waiting/checking an even with a specific
    lock, allowing this to be pulled out of md and now loop and drbd is
    also using it.

    - A few fixes for xen back/front block driver from Roger Pau Monne.

    - Partition improvements from Stephen Warren, allowing partiion UUID
    to be used as an identifier."

    * 'for-3.8/drivers' of git://git.kernel.dk/linux-block: (609 commits)
    drbd: update Kconfig to match current dependencies
    drbd: Fix drbdsetup wait-connect, wait-sync etc... commands
    drbd: close race between drbd_set_role and drbd_connect
    drbd: respect no-md-barriers setting also when changed online via disk-options
    drbd: Remove obsolete check
    drbd: fixup after wait_even_lock_irq() addition to generic code
    loop: Limit the number of requests in the bio list
    wait: add wait_event_lock_irq() interface
    xen-blkfront: free allocated page
    xen-blkback: move free persistent grants code
    block: partition: msdos: provide UUIDs for partitions
    init: reduce PARTUUID min length to 1 from 36
    block: store partition_meta_info.uuid as a string
    cciss: use check_signature()
    cciss: cleanup bitops usage
    drbd: use copy_highpage
    drbd: if the replication link breaks during handshake, keep retrying
    drbd: check return of kmalloc in receive_uuids
    drbd: Broadcast sync progress no more often than once per second
    drbd: don't try to clear bits once the disk has failed
    ...

    Linus Torvalds
     

06 Dec, 2012

1 commit

  • The Kconfig currently enables MSDOS partitions by default because they
    are assumed to be essential, but it's necessary to enable "advanced
    partition selection" in order to get GPT support. IMO GPT partitions
    are becoming common enought to deserve the same treatment MSDOS
    partitions get.

    (Side note: I got bit by a disk that had MSDOS and GPT partition
    tables, but for some reason the MSDOS table was different from the
    GPT one. I was stupid enought to disable "advanced partition
    selection" in my .config, which disabled GPT partitioning and made
    my btrfs pool unbootable because it couldn't find the partitions)

    Signed-off-by: Diego Calleja
    Signed-off-by: Jens Axboe

    Diego Calleja
     

23 Nov, 2012

2 commits

  • The MSDOS/MBR partition table includes a 32-bit unique ID, often referred
    to as the NT disk signature. When combined with a partition number within
    the table, this can form a unique ID similar in concept to EFI/GPT's
    partition UUID. Constructing and recording this value in struct
    partition_meta_info allows MSDOS partitions to be referred to on the
    kernel command-line using the following syntax:

    root=PARTUUID=0002dd75-01

    Signed-off-by: Stephen Warren
    Cc: Tejun Heo
    Cc: Will Drewry
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Stephen Warren
     
  • This will allow other types of UUID to be stored here, aside from true
    UUIDs. This also simplifies code that uses this field, since it's usually
    constructed from a, used as a, or compared to other, strings.

    Note: A simplistic approach here would be to set uuid_str[36]=0 whenever a
    /PARTNROFF option was found to be present. However, this modifies the
    input string, and causes subsequent calls to devt_from_partuuid() not to
    see the /PARTNROFF option, which causes different results. In order to
    avoid misleading future maintainers, this parameter is marked const.

    Signed-off-by: Stephen Warren
    Cc: Tejun Heo
    Cc: Will Drewry
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Stephen Warren
     

26 Sep, 2012

1 commit

  • In some usage scenarios it is desireable to work with disk images or
    virtualized DASD devices. One problem that prevents such applications
    is the partition detection in ibm.c. Currently it works only for
    devices that support the BIODASDINFO2 ioctl, in other words, it only
    works for devices that belong to the DASD device driver.

    The information gained from the BIODASDINFO2 ioctl is only for a small
    set of legacy cases abolutely necessary. All current VOL1, LNX1 and
    CMS1 type of disk labels can be interpreted correctly without this
    information, as long as the generic HDIO_GETGEO ioctl works and
    provides a correct disk geometry.

    This patch makes the ibm.c partition detection as independent as
    possible from the BIODASDINFO2 ioctl. Only the following two cases are
    still restricted to real DASDs:
    - An FBA DASD, or LDL formatted ECKD DASD without any disk label.
    - An old style LNX1 label (without large volume support) on a disk
    with inconsistent device geometry.

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Stefan Weinhuber
     

16 May, 2012

1 commit


24 Feb, 2012

1 commit

  • From: Ben Hutchings

    Extended VBLKs (those larger than the preset VBLK size) are divided
    into fragments, each with its own VBLK header. Our LDM implementation
    generally assumes that each VBLK is contiguous in memory, so these
    fragments must be assembled before further processing.

    Currently the reassembly seems to be done quite wrongly - no VBLK
    header is copied into the contiguous buffer, and the length of the
    header is subtracted twice from each fragment. Also the total
    length of the reassembled VBLK is calculated incorrectly.

    Signed-off-by: Ben Hutchings
    Signed-off-by: Anton Altaparmakov

    Anton Altaparmakov
     

04 Jan, 2012

2 commits