Skip to content
  1. Mar 14, 2019
  2. Mar 13, 2019
  3. Mar 07, 2019
    • 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
    • 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. Mar 03, 2019
  5. Mar 01, 2019
  6. Feb 28, 2019
  7. Feb 27, 2019
  8. Feb 24, 2019
  9. Feb 23, 2019
  10. Feb 22, 2019
    • 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