1. 12 Mar, 2019 2 commits
  2. 07 Mar, 2019 1 commit
    • Javier González's avatar
      pblk: fix max_io calculation · 9205e449
      Javier González authored
      When calculating the maximun I/O size allowed into the buffer, consider
      the write size (ws_opt) used by the write thread in order to cover the
      case in which, due to flushes, the mem and subm pointers are disaligned
      by (ws_opt - 1). This case currently translates into a stall when
      an I/O of the largest possible size is submitted.
      
      Fixes: f9f9d1ae2c66 ("lightnvm: pblk: prevent stall due to wb threshold")
      Signed-off-by: default avatarJavier González <javier@javigon.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      9205e449
  3. 06 Mar, 2019 2 commits
    • Ming Lei's avatar
      block: fix segment calculation for passthrough IO · 05b700ba
      Ming Lei authored
      blk_recount_segments() can be called in bio_add_pc_page() for
      calculating how many segments this bio will has after one page is added
      to this bio. If the resulted segment number is beyond the queue limit,
      the added page will be removed.
      
      The try-and-fix policy requires blk_recount_segments(__blk_recalc_rq_segments)
      to not consider the segment number limit. Unfortunately bvec_split_segs()
      does check this limit, and causes small segment number returned to
      bio_add_pc_page(), then page still may be added to the bio even though
      segment number limit becomes broken.
      
      Fixes this issue by not considering segment number limit when calcualting
      bio's segment number.
      
      Fixes: dcebd755 ("block: use bio_for_each_bvec() to compute multi-page bvec count")
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Omar Sandoval <osandov@fb.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      05b700ba
    • Jens Axboe's avatar
      Merge branch 'stable/for-jens-5.1' of... · e61750c8
      Jens Axboe authored
      Merge branch 'stable/for-jens-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-5.1/block-post
      
      Pull two xen blkback fixes from Konrad.
      
      * 'stable/for-jens-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/blkback: rework connect_ring() to avoid inconsistent xenstore 'ring-page-order' set by malicious blkfront
        xen/blkback: add stack variable 'blkif' in connect_ring()
      e61750c8
  4. 02 Mar, 2019 1 commit
  5. 28 Feb, 2019 9 commits
  6. 27 Feb, 2019 3 commits
  7. 24 Feb, 2019 5 commits
  8. 22 Feb, 2019 2 commits
  9. 21 Feb, 2019 3 commits
    • Ming Lei's avatar
      block: bounce: make sure that bvec table is updated · 8f4e80da
      Ming Lei authored
      Block bounce needs to allocate new page for doing IO, and the
      new page has to be updated to bvec table.
      
      Commit 6dc4f100 switches __blk_queue_bounce() to use the new
      bio_for_each_segment_all() interface. Unfortunately the new
      bio_for_each_segment_all() can't be used to update bvec table.
      
      This patch fixes this issue by retrieving bvec from the table
      directly, then the new allocated page can be updated to the bio.
      This way is safe because the cloned bio is single page bvec.
      
      Fixes: 6dc4f100 ("block: allow bio_for_each_segment_all() to iterate over multi-page bvec")
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Omar Sandoval <osandov@fb.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      8f4e80da
    • Jens Axboe's avatar
      Merge branch 'nvme-5.1' of git://git.infradead.org/nvme into for-5.1/block · 037b2625
      Jens Axboe authored
      Pull NVMe changes for 5.1 from Christoph
      
      * 'nvme-5.1' of git://git.infradead.org/nvme: (22 commits)
        nvme-rdma: use nr_phys_segments when map rq to sgl
        nvmet: convert to SPDX identifiers
        nvmet-rdma: convert to SPDX identifiers
        nvme-loop: convert to SPDX identifiers
        nvmet-fcloop: convert to SPDX identifiers
        nvmet-fc: convert to SPDX identifiers
        nvme: convert to SPDX identifiers
        nvme-pci: convert to SPDX identifiers
        nvme-lightnvm: convert to SPDX identifiers
        nvme-rdma: convert to SPDX identifiers
        nvme-fc: convert to SPDX identifiers
        nvme-fabrics: convert to SPDX identifiers
        nvme-tcp.h: fix SPDX header
        nvme_ioctl.h: remove duplicate GPL boilerplate
        nvme: return error from nvme_alloc_ns()
        nvme: avoid that deleting a controller triggers a circular locking complaint
        nvme: introduce a helper function for controller deletion
        nvme: unexport nvme_delete_ctrl_sync()
        nvme-pci: check kstrtoint() return value in queue_count_set()
        nvme-fabrics: document the poll function argument
        ...
      037b2625
    • Chaitanya Kulkarni's avatar
      nvme-rdma: use nr_phys_segments when map rq to sgl · 34e08191
      Chaitanya Kulkarni authored
      Use blk_rq_nr_phys_segments() instead of blk_rq_payload_bytes() to check
      if a command contains data to be mapped.  This fixes the case where
      a struct request contains LBAs, but it has no payload, such as
      Write Zeroes support.
      
      Fixes: 6e02318e ("nvme: add support for the Write Zeroes command")
      Reported-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      Tested-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      34e08191
  10. 20 Feb, 2019 12 commits