18 Dec, 2014

3 commits

  • Pull ceph updates from Sage Weil:
    "The big item here is support for inline data for CephFS and for
    message signatures from Zheng. There are also several bug fixes,
    including interrupted flock request handling, 0-length xattrs, mksnap,
    cached readdir results, and a message version compat field. Finally
    there are several cleanups from Ilya, Dan, and Markus.

    Note that there is another series coming soon that fixes some bugs in
    the RBD 'lingering' requests, but it isn't quite ready yet"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (27 commits)
    ceph: fix setting empty extended attribute
    ceph: fix mksnap crash
    ceph: do_sync is never initialized
    libceph: fixup includes in pagelist.h
    ceph: support inline data feature
    ceph: flush inline version
    ceph: convert inline data to normal data before data write
    ceph: sync read inline data
    ceph: fetch inline data when getting Fcr cap refs
    ceph: use getattr request to fetch inline data
    ceph: add inline data to pagecache
    ceph: parse inline data in MClientReply and MClientCaps
    libceph: specify position of extent operation
    libceph: add CREATE osd operation support
    libceph: add SETXATTR/CMPXATTR osd operations support
    rbd: don't treat CEPH_OSD_OP_DELETE as extent op
    ceph: remove unused stringification macros
    libceph: require cephx message signature by default
    ceph: introduce global empty snap context
    ceph: message versioning fixes
    ...

    Linus Torvalds
     
  • CEPH_OSD_OP_DELETE is not an extent op, stop treating it as such. This
    sneaked in with discard patches - it's one of the three osd ops (the
    other two are CEPH_OSD_OP_TRUNCATE and CEPH_OSD_OP_ZERO) that discard
    is implemented with.

    Signed-off-by: Ilya Dryomov
    Reviewed-by: Alex Elder

    Ilya Dryomov
     
  • The functions ceph_put_snap_context() and iput() test whether their
    argument is NULL and then return immediately. Thus the test around the
    call is not needed.

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring
    [idryomov@redhat.com: squashed rbd.c hunk, changelog]
    Signed-off-by: Ilya Dryomov

    SF Markus Elfring
     

15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

14 Dec, 2014

8 commits

  • Pull block layer driver updates from Jens Axboe:

    - NVMe updates:
    - The blk-mq conversion from Matias (and others)

    - A stack of NVMe bug fixes from the nvme tree, mostly from Keith.

    - Various bug fixes from me, fixing issues in both the blk-mq
    conversion and generic bugs.

    - Abort and CPU online fix from Sam.

    - Hot add/remove fix from Indraneel.

    - A couple of drbd fixes from the drbd team (Andreas, Lars, Philipp)

    - With the generic IO stat accounting from 3.19/core, converting md,
    bcache, and rsxx to use those. From Gu Zheng.

    - Boundary check for queue/irq mode for null_blk from Matias. Fixes
    cases where invalid values could be given, causing the device to hang.

    - The xen blkfront pull request, with two bug fixes from Vitaly.

    * 'for-3.19/drivers' of git://git.kernel.dk/linux-block: (56 commits)
    NVMe: fix race condition in nvme_submit_sync_cmd()
    NVMe: fix retry/error logic in nvme_queue_rq()
    NVMe: Fix FS mount issue (hot-remove followed by hot-add)
    NVMe: fix error return checking from blk_mq_alloc_request()
    NVMe: fix freeing of wrong request in abort path
    xen/blkfront: remove redundant flush_op
    xen/blkfront: improve protection against issuing unsupported REQ_FUA
    NVMe: Fix command setup on IO retry
    null_blk: boundary check queue_mode and irqmode
    block/rsxx: use generic io stats accounting functions to simplify io stat accounting
    md: use generic io stats accounting functions to simplify io stat accounting
    drbd: use generic io stats accounting functions to simplify io stat accounting
    md/bcache: use generic io stats accounting functions to simplify io stat accounting
    NVMe: Update module version major number
    NVMe: fail pci initialization if the device doesn't have any BARs
    NVMe: add ->exit_hctx() hook
    NVMe: make setup work for devices that don't do INTx
    NVMe: enable IO stats by default
    NVMe: nvme_submit_async_admin_req() must use atomic rq allocation
    NVMe: replace blk_put_request() with blk_mq_free_request()
    ...

    Linus Torvalds
     
  • Pull block driver core update from Jens Axboe:
    "This is the pull request for the core block IO changes for 3.19. Not
    a huge round this time, mostly lots of little good fixes:

    - Fix a bug in sysfs blktrace interface causing a NULL pointer
    dereference, when enabled/disabled through that API. From Arianna
    Avanzini.

    - Various updates/fixes/improvements for blk-mq:

    - A set of updates from Bart, mostly fixing buts in the tag
    handling.

    - Cleanup/code consolidation from Christoph.

    - Extend queue_rq API to be able to handle batching issues of IO
    requests. NVMe will utilize this shortly. From me.

    - A few tag and request handling updates from me.

    - Cleanup of the preempt handling for running queues from Paolo.

    - Prevent running of unmapped hardware queues from Ming Lei.

    - Move the kdump memory limiting check to be in the correct
    location, from Shaohua.

    - Initialize all software queues at init time from Takashi. This
    prevents a kobject warning when CPUs are brought online that
    weren't online when a queue was registered.

    - Single writeback fix for I_DIRTY clearing from Tejun. Queued with
    the core IO changes, since it's just a single fix.

    - Version X of the __bio_add_page() segment addition retry from
    Maurizio. Hope the Xth time is the charm.

    - Documentation fixup for IO scheduler merging from Jan.

    - Introduce (and use) generic IO stat accounting helpers for non-rq
    drivers, from Gu Zheng.

    - Kill off artificial limiting of max sectors in a request from
    Christoph"

    * 'for-3.19/core' of git://git.kernel.dk/linux-block: (26 commits)
    bio: modify __bio_add_page() to accept pages that don't start a new segment
    blk-mq: Fix uninitialized kobject at CPU hotplugging
    blktrace: don't let the sysfs interface remove trace from running list
    blk-mq: Use all available hardware queues
    blk-mq: Micro-optimize bt_get()
    blk-mq: Fix a race between bt_clear_tag() and bt_get()
    blk-mq: Avoid that __bt_get_word() wraps multiple times
    blk-mq: Fix a use-after-free
    blk-mq: prevent unmapped hw queue from being scheduled
    blk-mq: re-check for available tags after running the hardware queue
    blk-mq: fix hang in bt_get()
    blk-mq: move the kdump check to blk_mq_alloc_tag_set
    blk-mq: cleanup tag free handling
    blk-mq: use 'nr_cpu_ids' as highest CPU ID count for hwq cpu map
    blk: introduce generic io stat accounting help function
    blk-mq: handle the single queue case in blk_mq_hctx_next_cpu
    genhd: check for int overflow in disk_expand_part_tbl()
    blk-mq: add blk_mq_free_hctx_request()
    blk-mq: export blk_mq_free_request()
    blk-mq: use get_cpu/put_cpu instead of preempt_disable/preempt_enable
    ...

    Linus Torvalds
     
  • Merge second patchbomb from Andrew Morton:
    - the rest of MM
    - misc fs fixes
    - add execveat() syscall
    - new ratelimit feature for fault-injection
    - decompressor updates
    - ipc/ updates
    - fallocate feature creep
    - fsnotify cleanups
    - a few other misc things

    * emailed patches from Andrew Morton : (99 commits)
    cgroups: Documentation: fix trivial typos and wrong paragraph numberings
    parisc: percpu: update comments referring to __get_cpu_var
    percpu: update local_ops.txt to reflect this_cpu operations
    percpu: remove __get_cpu_var and __raw_get_cpu_var macros
    fsnotify: remove destroy_list from fsnotify_mark
    fsnotify: unify inode and mount marks handling
    fallocate: create FAN_MODIFY and IN_MODIFY events
    mm/cma: make kmemleak ignore CMA regions
    slub: fix cpuset check in get_any_partial
    slab: fix cpuset check in fallback_alloc
    shmdt: use i_size_read() instead of ->i_size
    ipc/shm.c: fix overly aggressive shmdt() when calls span multiple segments
    ipc/msg: increase MSGMNI, remove scaling
    ipc/sem.c: increase SEMMSL, SEMMNI, SEMOPM
    ipc/sem.c: change memory barrier in sem_lock() to smp_rmb()
    lib/decompress.c: consistency of compress formats for kernel image
    decompress_bunzip2: off by one in get_next_block()
    usr/Kconfig: make initrd compression algorithm selection not expert
    fault-inject: add ratelimit option
    ratelimit: add initialization macro
    ...

    Linus Torvalds
     
  • In current zram, we use DEVICE_ATTR() to define sys device attributes.
    SO, we need to set (S_IRUGO | S_IWUSR) permission and other arguments
    manually. Linux already provids the macro DEVICE_ATTR_[RW|RO|WO] to
    define sys device attribute. It is simple and readable.

    This patch uses kernel defined macro DEVICE_ATTR_[RW|RO|WO] to define
    zram device attribute.

    Signed-off-by: Ganesh Mahendran
    Acked-by: Jerome Marchand
    Cc: Minchan Kim
    Cc: Nitin Gupta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ganesh Mahendran
     
  • In struct zram_table_entry, the element *value* contains obj size and obj
    zram flags. Bit 0 to bit (ZRAM_FLAG_SHIFT - 1) represent obj size, and
    bit ZRAM_FLAG_SHIFT to the highest bit of unsigned long represent obj
    zram_flags. So the first zram flag(ZRAM_ZERO) should be from
    ZRAM_FLAG_SHIFT instead of (ZRAM_FLAG_SHIFT + 1).

    This patch fixes this cosmetic issue.

    Also fix a typo, "page in now accessed" -> "page is now accessed"

    Signed-off-by: Mahendran Ganesh
    Acked-by: Minchan Kim
    Acked-by: Weijie Yang
    Acked-by: Sergey Senozhatsky
    Cc: Nitin Gupta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mahendran Ganesh
     
  • This patch implements rw_page operation for zram block device.

    I implemented the feature in zram and tested it. Test bed was the G2, LG
    electronic mobile device, whtich has msm8974 processor and 2GB memory.

    With a memory allocation test program consuming memory, the system
    generates swap.

    Operating time of swap_write_page() was measured.

    --------------------------------------------------
    | | operating time | improvement |
    | | (20 runs average) | |
    --------------------------------------------------
    |with patch | 1061.15 us | +2.4% |
    --------------------------------------------------
    |without patch| 1087.35 us | |
    --------------------------------------------------

    Each test(with paged_io,with BIO) result set shows normal distribution and
    has equal variance. I mean the two values are valid result to compare. I
    can say operation with paged I/O(without BIO) is faster 2.4% with
    confidence level 95%.

    [minchan@kernel.org: make rw_page opeartion return 0]
    [minchan@kernel.org: rely on the bi_end_io for zram_rw_page fails]
    [sergey.senozhatsky@gmail.com: code cleanup]
    [minchan@kernel.org: add comment]
    Signed-off-by: karam.lee
    Acked-by: Minchan Kim
    Acked-by: Jerome Marchand
    Cc: Matthew Wilcox
    Cc: Nitin Gupta
    Cc:
    Signed-off-by: Minchan Kim
    Signed-off-by: Sergey Senozhatsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    karam.lee
     
  • This patch changes parameter of valid_io_request for common usage. The
    purpose of valid_io_request() is to determine if bio request is valid or
    not.

    This patch use I/O start address and size instead of a BIO parameter for
    common usage.

    Signed-off-by: karam.lee
    Acked-by: Minchan Kim
    Acked-by: Jerome Marchand
    Cc: Matthew Wilcox
    Cc: Nitin Gupta
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    karam.lee
     
  • Recently rw_page block device operation has been added. This patchset
    implements rw_page operation for zram block device and does some clean-up.

    This patch (of 3):

    Remove an unnecessary parameter(bio) from zram_bvec_rw() and
    zram_bvec_read(). zram_bvec_read() doesn't use a bio parameter, so remove
    it. zram_bvec_rw() calls a read/write operation not using bio, so a rw
    parameter replaces a bio parameter.

    Signed-off-by: karam.lee
    Acked-by: Minchan Kim
    Acked-by: Jerome Marchand
    Cc: Matthew Wilcox
    Cc: Nitin Gupta
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    karam.lee
     

12 Dec, 2014

6 commits

  • If we have a race between the schedule timing out and the command
    completing, we could have the task issuing the command exit
    nvme_submit_sync_cmd() while the irq is running sync_completion().
    If that happens, we could be corrupting memory, since the stack
    that held 'cmdinfo' is no longer valid.

    Fix this by always calling nvme_abort_cmd_info(). Once that call
    completes, we know that we have either run sync_completion() if
    the completion came in, or that we will never run it since we now
    have special_completion() as the command callback handler.

    Acked-by: Keith Busch
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • This change enables the sunvdc driver to reconnect and recover if a vds
    service domain is disconnected or bounced.

    By default, it will wait indefinitely for the service domain to become
    available again, but will honor a non-zero vdc-timout md property if one
    is set. If a timeout is reached, any in-progress I/O's are completed
    with -EIO.

    Signed-off-by: Dwight Engen
    Reviewed-by: Chris Hyser
    Signed-off-by: David S. Miller

    Dwight Engen
     
  • Both sunvdc and sunvnet implemented distinct functionality for incrementing
    and decrementing dring indexes. Create common functions for use by both
    from the sunvnet versions, which were chosen since they will still work
    correctly in case a non power of two ring size is used.

    Signed-off-by: Dwight Engen
    Signed-off-by: David S. Miller

    Dwight Engen
     
  • Free resources allocated during port/disk probing so that the module may be
    successfully reloaded after unloading.

    Signed-off-by: Dwight Engen
    Signed-off-by: David S. Miller

    Dwight Engen
     
  • The logic around retrying and erroring IO in nvme_queue_rq() is broken
    in a few ways:

    - If we fail allocating dma memory for a discard, we return retry. We
    have the 'iod' stored in ->special, but we free the 'iod'.

    - For a normal request, if we fail dma mapping of setting up prps, we
    have the same iod situation. Additionally, we haven't set the callback
    for the request yet, so we also potentially leak IOMMU resources.

    Get rid of the ->special 'iod' store. The retry is uncommon enough that
    it's not worth optimizing for or holding on to resources to attempt to
    speed it up. Additionally, it's usually best practice to free any
    request related resources when doing retries.

    Acked-by: Keith Busch
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Pull virtio updates from Michael Tsirkin:
    "virtio: virtio 1.0 support, misc patches

    This adds a lot of infrastructure for virtio 1.0 support. Notable
    missing pieces: virtio pci, virtio balloon (needs spec extension),
    vhost scsi.

    Plus, there are some minor fixes in a couple of places.

    Note: some net drivers are affected by these patches. David said he's
    fine with merging these patches through my tree.

    Rusty's on vacation, he acked using my tree for these, too"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (70 commits)
    virtio_ccw: finalize_features error handling
    virtio_ccw: future-proof finalize_features
    virtio_pci: rename virtio_pci -> virtio_pci_common
    virtio_pci: update file descriptions and copyright
    virtio_pci: split out legacy device support
    virtio_pci: setup config vector indirectly
    virtio_pci: setup vqs indirectly
    virtio_pci: delete vqs indirectly
    virtio_pci: use priv for vq notification
    virtio_pci: free up vq->priv
    virtio_pci: fix coding style for structs
    virtio_pci: add isr field
    virtio: drop legacy_only driver flag
    virtio_balloon: drop legacy_only driver flag
    virtio_ccw: rev 1 devices set VIRTIO_F_VERSION_1
    virtio: allow finalize_features to fail
    virtio_ccw: legacy: don't negotiate rev 1/features
    virtio: add API to detect legacy devices
    virtio_console: fix sparse warnings
    vhost: remove unnecessary forward declarations in vhost.h
    ...

    Linus Torvalds
     

11 Dec, 2014

7 commits

  • After Hot-remove of a device with a mounted partition,
    when the device is hot-added again, the new node reappears
    as nvme0n1. Mounting this new node fails with the error:

    mount: mount /dev/nvme0n1p1 on /mnt failed: File exists.

    The old nodes's FS entries still exist and the kernel can't re-create
    procfs and sysfs entries for the new node with the same name.
    The patch fixes this issue.

    Acked-by: Keith Busch
    Signed-off-by: Indraneel M
    Signed-off-by: Jens Axboe

    Indraneel M
     
  • Pull VFS changes from Al Viro:
    "First pile out of several (there _definitely_ will be more). Stuff in
    this one:

    - unification of d_splice_alias()/d_materialize_unique()

    - iov_iter rewrite

    - killing a bunch of ->f_path.dentry users (and f_dentry macro).

    Getting that completed will make life much simpler for
    unionmount/overlayfs, since then we'll be able to limit the places
    sensitive to file _dentry_ to reasonably few. Which allows to have
    file_inode(file) pointing to inode in a covered layer, with dentry
    pointing to (negative) dentry in union one.

    Still not complete, but much closer now.

    - crapectomy in lustre (dead code removal, mostly)

    - "let's make seq_printf return nothing" preparations

    - assorted cleanups and fixes

    There _definitely_ will be more piles"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
    copy_from_iter_nocache()
    new helper: iov_iter_kvec()
    csum_and_copy_..._iter()
    iov_iter.c: handle ITER_KVEC directly
    iov_iter.c: convert copy_to_iter() to iterate_and_advance
    iov_iter.c: convert copy_from_iter() to iterate_and_advance
    iov_iter.c: get rid of bvec_copy_page_{to,from}_iter()
    iov_iter.c: convert iov_iter_zero() to iterate_and_advance
    iov_iter.c: convert iov_iter_get_pages_alloc() to iterate_all_kinds
    iov_iter.c: convert iov_iter_get_pages() to iterate_all_kinds
    iov_iter.c: convert iov_iter_npages() to iterate_all_kinds
    iov_iter.c: iterate_and_advance
    iov_iter.c: macros for iterating over iov_iter
    kill f_dentry macro
    dcache: fix kmemcheck warning in switch_names
    new helper: audit_file()
    nfsd_vfs_write(): use file_inode()
    ncpfs: use file_inode()
    kill f_dentry uses
    lockd: get rid of ->f_path.dentry->d_sb
    ...

    Linus Torvalds
     
  • …nrad/xen into for-3.19/drivers

    Konrad writes:

    These are two fixes for Xen blkfront. They harden how it deals with
    broken backends.

    Jens Axboe
     
  • We return an error pointer or the request, not NULL. Half
    the call paths got it right, the others didn't. Fix those up.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • We allocate 'abort_req', but free 'req' in case of an error
    submitting the IO.

    Signed-off-by: Sam Bradshaw
    Signed-off-by: Jens Axboe

    Sam Bradshaw
     
  • flush_op is unambiguously defined by feature_flush:
    REQ_FUA | REQ_FLUSH -> BLKIF_OP_WRITE_BARRIER
    REQ_FLUSH -> BLKIF_OP_FLUSH_DISKCACHE
    0 -> 0
    and thus can be removed. This is just a cleanup.

    The patch was suggested by Boris Ostrovsky.

    Signed-off-by: Vitaly Kuznetsov
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Konrad Rzeszutek Wilk

    Vitaly Kuznetsov
     
  • Guard against issuing unsupported REQ_FUA and REQ_FLUSH was introduced
    in d11e61583 and was factored out into blkif_request_flush_valid() in
    0f1ca65ee. However:
    1) This check in incomplete. In case we negotiated to feature_flush = REQ_FLUSH
    and flush_op = BLKIF_OP_FLUSH_DISKCACHE (so FUA is unsupported) FUA request
    will still pass the check.
    2) blkif_request_flush_valid() is misnamed. It is bool but returns true when
    the request is invalid.
    3) When blkif_request_flush_valid() fails -EIO is being returned. It seems that
    -EOPNOTSUPP is more appropriate here.
    Fix all of the above issues.

    This patch is based on the original patch by Laszlo Ersek and a comment by
    Jeff Moyer.

    Signed-off-by: Vitaly Kuznetsov
    Reviewed-by: Laszlo Ersek
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Konrad Rzeszutek Wilk

    Vitaly Kuznetsov
     

09 Dec, 2014

5 commits


08 Dec, 2014

1 commit


04 Dec, 2014

1 commit

  • On retry, the req->special is pointing to an already setup IOD, but we
    still need to setup the command context and callback, otherwise you'll
    see false twice completed errors and leak requests.

    Signed-off-by: Keith Busch
    Signed-off-by: Jens Axboe

    Keith Busch
     

27 Nov, 2014

1 commit

  • When either queue_mode or irq_mode parameter is set outside its
    boundaries, the driver will not complete requests. This stalls driver
    initialization when partitions are probed. Fix by setting out of bound
    values to the parameters default.

    Signed-off-by: Matias Bjørling

    Updated by me to have the parse+check in just one function.

    Signed-off-by: Jens Axboe

    Matias Bjorling
     

25 Nov, 2014

1 commit


24 Nov, 2014

2 commits


22 Nov, 2014

1 commit

  • It's already near impossible to tell what bits someone is running based on
    a 'modinfo nvme', and I don't want to try guessing if someone is running
    blk-mq or bio-based. Let's make it obvious with the module version that
    the blk-mq conversion is a major change. Future bio-based versions can
    increment to 0.10 in a fork if revisions occur.

    Signed-off-by: Keith Busch
    Signed-off-by: Jens Axboe

    Keith Busch
     

21 Nov, 2014

2 commits

  • The PCI init of NVMe doesn't check for valid bars before proceeding
    to map and use BAR 0. If the device is hosed (or firmware is), then
    we should catch this case and give up early.

    This fixes a:

    [ 1662.035778] WARNING: CPU: 0 PID: 4 at arch/x86/mm/ioremap.c:63 __ioremap_check_ram+0xa7/0xc0()

    and later badness on such a device.

    Acked-by: Keith Busch
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • If we do teardown and setup of the queue and block related parts
    of the driver, then we should clear nvmeq->hctx once we kill the
    hardware queue.

    Acked-by: Keith Busch
    Signed-off-by: Jens Axboe

    Jens Axboe
     

20 Nov, 2014

1 commit

  • The setup/probe part currently relies on INTx being there and
    working, that's not always the case. For devices that don't
    advertise INTx, enable a single MSIx vector early on and disable
    it again before we ask for our full range of queue vecs.

    Acked-by: Keith Busch
    Signed-off-by: Jens Axboe

    Jens Axboe