16 Jan, 2012

1 commit

  • * 'for-3.3/drivers' of git://git.kernel.dk/linux-block:
    mtip32xx: do rebuild monitoring asynchronously
    xen-blkfront: Use kcalloc instead of kzalloc to allocate array
    mtip32xx: uninitialized variable in mtip_quiesce_io()
    mtip32xx: updates based on feedback
    xen-blkback: convert hole punching to discard request on loop devices
    xen/blkback: Move processing of BLKIF_OP_DISCARD from dispatch_rw_block_io
    xen/blk[front|back]: Enhance discard support with secure erasing support.
    xen/blk[front|back]: Squash blkif_request_rw and blkif_request_discard together
    mtip32xx: update to new ->make_request() API
    mtip32xx: add module.h include to avoid conflict with moduleh tree
    mtip32xx: mark a few more items static
    mtip32xx: ensure that all local functions are static
    mtip32xx: cleanup compat ioctl handling
    mtip32xx: fix warnings/errors on 32-bit compiles
    block: Add driver for Micron RealSSD pcie flash cards

    Linus Torvalds
     

11 Jan, 2012

1 commit

  • * 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (37 commits)
    xen/pciback: Expand the warning message to include domain id.
    xen/pciback: Fix "device has been assigned to X domain!" warning
    xen/pciback: Move the PCI_DEV_FLAGS_ASSIGNED ops to the "[un|]bind"
    xen/xenbus: don't reimplement kvasprintf via a fixed size buffer
    xenbus: maximum buffer size is XENSTORE_PAYLOAD_MAX
    xen/xenbus: Reject replies with payload > XENSTORE_PAYLOAD_MAX.
    Xen: consolidate and simplify struct xenbus_driver instantiation
    xen-gntalloc: introduce missing kfree
    xen/xenbus: Fix compile error - missing header for xen_initial_domain()
    xen/netback: Enable netback on HVM guests
    xen/grant-table: Support mappings required by blkback
    xenbus: Use grant-table wrapper functions
    xenbus: Support HVM backends
    xen/xenbus-frontend: Fix compile error with randconfig
    xen/xenbus-frontend: Make error message more clear
    xen/privcmd: Remove unused support for arch specific privcmp mmap
    xen: Add xenbus_backend device
    xen: Add xenbus device driver
    xen: Add privcmd device driver
    xen/gntalloc: fix reference counts on multi-page mappings
    ...

    Linus Torvalds
     

05 Jan, 2012

1 commit

  • The 'name', 'owner', and 'mod_name' members are redundant with the
    identically named fields in the 'driver' sub-structure. Rather than
    switching each instance to specify these fields explicitly, introduce
    a macro to simplify this.

    Eliminate further redundancy by allowing the drvname argument to
    DEFINE_XENBUS_DRIVER() to be blank (in which case the first entry from
    the ID table will be used for .driver.name).

    Also eliminate the questionable xenbus_register_{back,front}end()
    wrappers - their sole remaining purpose was the checking of the
    'owner' field, proper setting of which shouldn't be an issue anymore
    when the macro gets used.

    v2: Restore DRV_NAME for the driver name in xen-pciback.

    Signed-off-by: Jan Beulich
    Cc: Jens Axboe
    Cc: Dmitry Torokhov
    Cc: Florian Tobias Schandinat
    Cc: Ian Campbell
    Cc: David S. Miller
    Signed-off-by: Konrad Rzeszutek Wilk

    Jan Beulich
     

02 Dec, 2011

1 commit


19 Nov, 2011

4 commits


07 Nov, 2011

1 commit


05 Nov, 2011

1 commit

  • * 'for-3.2/drivers' of git://git.kernel.dk/linux-block: (30 commits)
    virtio-blk: use ida to allocate disk index
    hpsa: add small delay when using PCI Power Management to reset for kump
    cciss: add small delay when using PCI Power Management to reset for kump
    xen/blkback: Fix two races in the handling of barrier requests.
    xen/blkback: Check for proper operation.
    xen/blkback: Fix the inhibition to map pages when discarding sector ranges.
    xen/blkback: Report VBD_WSECT (wr_sect) properly.
    xen/blkback: Support 'feature-barrier' aka old-style BARRIER requests.
    xen-blkfront: plug device number leak in xlblk_init() error path
    xen-blkfront: If no barrier or flush is supported, use invalid operation.
    xen-blkback: use kzalloc() in favor of kmalloc()+memset()
    xen-blkback: fixed indentation and comments
    xen-blkfront: fix a deadlock while handling discard response
    xen-blkfront: Handle discard requests.
    xen-blkback: Implement discard requests ('feature-discard')
    xen-blkfront: add BLKIF_OP_DISCARD and discard request struct
    drivers/block/loop.c: remove unnecessary bdev argument from loop_clr_fd()
    drivers/block/loop.c: emit uevent on auto release
    drivers/block/cpqarray.c: use pci_dev->revision
    loop: always allow userspace partitions and optionally support automatic scanning
    ...

    Fic up trivial header file includsion conflict in drivers/block/loop.c

    Linus Torvalds
     

26 Oct, 2011

1 commit


25 Oct, 2011

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)
    MAINTAINERS: linux-m32r is moderated for non-subscribers
    linux@lists.openrisc.net is moderated for non-subscribers
    Drop default from "DM365 codec select" choice
    parisc: Kconfig: cleanup Kernel page size default
    Kconfig: remove redundant CONFIG_ prefix on two symbols
    cris: remove arch/cris/arch-v32/lib/nand_init.S
    microblaze: add missing CONFIG_ prefixes
    h8300: drop puzzling Kconfig dependencies
    MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers
    tty: drop superfluous dependency in Kconfig
    ARM: mxc: fix Kconfig typo 'i.MX51'
    Fix file references in Kconfig files
    aic7xxx: fix Kconfig references to READMEs
    Fix file references in drivers/ide/
    thinkpad_acpi: Fix printk typo 'bluestooth'
    bcmring: drop commented out line in Kconfig
    btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888'
    doc: raw1394: Trivial typo fix
    CIFS: Don't free volume_info->UNC until we are entirely done with it.
    treewide: Correct spelling of successfully in comments
    ...

    Linus Torvalds
     
  • ….org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/bug.fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/p2m/debugfs: Make type_name more obvious.
    xen/p2m/debugfs: Fix potential pointer exception.
    xen/enlighten: Fix compile warnings and set cx to known value.
    xen/xenbus: Remove the unnecessary check.
    xen/irq: If we fail during msi_capability_init return proper error code.
    xen/events: Don't check the info for NULL as it is already done.
    xen/events: BUG() when we can't allocate our event->irq array.

    * 'stable/mmu.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: Fix selfballooning and ensure it doesn't go too far
    xen/gntdev: Fix sleep-inside-spinlock
    xen: modify kernel mappings corresponding to granted pages
    xen: add an "highmem" parameter to alloc_xenballooned_pages
    xen/p2m: Use SetPagePrivate and its friends for M2P overrides.
    xen/p2m: Make debug/xen/mmu/p2m visible again.
    Revert "xen/debug: WARN_ON when identity PFN has no _PAGE_IOMAP flag set."

    Linus Torvalds
     

18 Oct, 2011

1 commit


15 Oct, 2011

1 commit

  • The patch titled: "xen/blkback: Fix the inhibition to map pages
    when discarding sector ranges." had the right idea except that
    it used the wrong comparison operator. It had == instead of !=.

    This fixes the bug where all (except discard) operations would
    have been ignored.

    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     

13 Oct, 2011

6 commits

  • The 'operation' parameters are the ones provided to the bio layer while
    the req->operation are the ones passed in between the backend and
    frontend. We used the wrong 'operation' value to squash the
    call to map pages when processing the discard operation resulting
    in an hypercall that did nothing. Lets guard against going in the
    mapping function by checking for the proper operation type.

    CC: Li Dongyang
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • We did not increment the amount of sectors written to disk
    b/c we tested for the == WRITE which is incorrect - as the
    operations are more of WRITE_FLUSH, WRITE_ODIRECT. This patch
    fixes it by doing a & WRITE check.

    CC: stable@kernel.org
    Reported-by: Andy Burns
    Suggested-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • We emulate the barrier requests by draining the outstanding bio's
    and then sending the WRITE_FLUSH command. To drain the I/Os
    we use the refcnt that is used during disconnect to wait for all
    the I/Os before disconnecting from the frontend. We latch on its
    value and if it reaches either the threshold for disconnect or when
    there are no more outstanding I/Os, then we have drained all I/Os.

    Suggested-by: Christopher Hellwig
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • This fixes the problem of three of those four memset()-s having
    improper size arguments passed: Sizeof a pointer-typed expression
    returns the size of the pointer, not that of the pointed to data.

    It also reverts using kmalloc() instead of kzalloc() for the allocation
    of the pending grant handles array, as that array gets fully
    initialized in a subsequent loop.

    Reported-by: Julia Lawall
    Signed-off-by: Jan Beulich
    Signed-off-by: Konrad Rzeszutek Wilk

    Jan Beulich
     
  • This patch fixes belows:

    1. Fix code style issue.
    2. Fix incorrect functions name in comments.

    Signed-off-by: Joe Jin
    Cc: Jens Axboe
    Cc: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Joe Jin
     
  • ..aka ATA TRIM/SCSI UNMAP command to be passed through the frontend
    and used as appropiately by the backend. We also advertise
    certain granulity parameters to the frontend so it can plug them in.
    If the backend is a realy device - we just end up using
    'blkdev_issue_discard' while for loopback devices - we just punch
    a hole in the image file.

    Signed-off-by: Li Dongyang
    [v1: Fixed up pr_debug and commit description]
    Signed-off-by: Konrad Rzeszutek Wilk

    Li Dongyang
     

29 Sep, 2011

1 commit

  • If we want to use granted pages for AIO, changing the mappings of a user
    vma and the corresponding p2m is not enough, we also need to update the
    kernel mappings accordingly.
    Currently this is only needed for pages that are created for user usages
    through /dev/xen/gntdev. As in, pages that have been in use by the
    kernel and use the P2M will not need this special mapping.
    However there are no guarantees that in the future the kernel won't
    start accessing pages through the 1:1 even for internal usage.

    In order to avoid the complexity of dealing with highmem, we allocated
    the pages lowmem.
    We issue a HYPERVISOR_grant_table_op right away in
    m2p_add_override and we remove the mappings using another
    HYPERVISOR_grant_table_op in m2p_remove_override.
    Considering that m2p_add_override and m2p_remove_override are called
    once per page we use multicalls and hypercall batching.

    Use the kmap_op pointer directly as argument to do the mapping as it is
    guaranteed to be present up until the unmapping is done.
    Before issuing any unmapping multicalls, we need to make sure that the
    mapping has already being done, because we need the kmap->handle to be
    set correctly.

    Signed-off-by: Stefano Stabellini
    [v1: Removed GRANT_FRAME_BIT usage]
    Signed-off-by: Konrad Rzeszutek Wilk

    Stefano Stabellini
     

15 Sep, 2011

1 commit


23 Aug, 2011

1 commit


22 Aug, 2011

2 commits

  • This patch fixes belows:

    1. Fix code style issue.
    2. Fix incorrect functions name in comments.

    Signed-off-by: Joe Jin
    Cc: Jens Axboe
    Cc: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Joe Jin
     
  • When do block-attach/block-detach test with below steps, umount hangs
    in the guest. Furthermore shutdown ends up being stuck when umounting file-systems.

    1. start guest.
    2. attach new block device by xm block-attach in Dom0.
    3. mount new disk in guest.
    4. execute xm block-detach to detach the block device in dom0 until timeout
    5. Any request to the disk will hung.

    Root cause:
    This issue is caused when setting backend device's state to
    'XenbusStateClosing', which sends to the frontend the XenbusStateClosing
    notification. When frontend receives the notification it tries to release
    the disk in blkfront_closing(), but at that moment the disk is still in use
    by guest, so frontend refuses to close. Specifically it sets the disk state to
    XenbusStateClosing and sends the notification to backend - when backend receives the
    event, it disconnects the vbd from real device, and sets the vbd device state to
    XenbusStateClosing. The backend disconnects the real device/file, and any IO
    requests to the disk in guest will end up in ether, leaving disk DEAD and set to
    XenbusStateClosing. When the guest wants to disconnect the disk, umount will
    hang on blkif_release()->xlvbd_release_gendisk() as it is unable to send any IO
    to the disk, which prevents clean system shutdown.

    Solution:
    Don't disconnect backend until frontend state switched to XenbusStateClosed.

    Signed-off-by: Joe Jin
    Cc: Daniel Stodden
    Cc: Jens Axboe
    Cc: Annie Li
    Cc: Ian Campbell
    [v1: Modified description a bit]
    Signed-off-by: Konrad Rzeszutek Wilk

    Joe Jin
     

26 Jul, 2011

1 commit

  • * 'for-3.1/drivers' of git://git.kernel.dk/linux-block:
    cciss: do not attempt to read from a write-only register
    xen/blkback: Add module alias for autoloading
    xen/blkback: Don't let in-flight requests defer pending ones.
    bsg: fix address space warning from sparse
    bsg: remove unnecessary conditional expressions
    bsg: fix bsg_poll() to return POLLOUT properly

    Linus Torvalds
     

01 Jul, 2011

3 commits


01 Jun, 2011

2 commits


18 May, 2011

1 commit

  • The sector number on empty barrier requests may (will?) be -1, which,
    given that it's being treated as unsigned 64-bit quantity, will almost
    always exceed the actual (virtual) disk's size.

    Inspired by Konrad's "When writting barriers set the sector number to
    zero...".

    While at it also add overflow checking to the math in vbd_translate().

    Signed-off-by: Jan Beulich
    Signed-off-by: Konrad Rzeszutek Wilk

    Jan Beulich
     

13 May, 2011

7 commits