<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/block, branch v3.14-rc5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/block?h=v3.14-rc5</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/block?h=v3.14-rc5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-02-14T18:45:18Z</updated>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.dk/linux-block</title>
<updated>2014-02-14T18:45:18Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-02-14T18:45:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5e57dc81106b942786f5db8e7ab8788bb9319933'/>
<id>urn:sha1:5e57dc81106b942786f5db8e7ab8788bb9319933</id>
<content type='text'>
Pull block IO fixes from Jens Axboe:
 "Second round of updates and fixes for 3.14-rc2.  Most of this stuff
  has been queued up for a while.  The notable exception is the blk-mq
  changes, which are naturally a bit more in flux still.

  The pull request contains:

   - Two bug fixes for the new immutable vecs, causing crashes with raid
     or swap.  From Kent.

   - Various blk-mq tweaks and fixes from Christoph.  A fix for
     integrity bio's from Nic.

   - A few bcache fixes from Kent and Darrick Wong.

   - xen-blk{front,back} fixes from David Vrabel, Matt Rushton, Nicolas
     Swenson, and Roger Pau Monne.

   - Fix for a vec miscount with integrity vectors from Martin.

   - Minor annotations or fixes from Masanari Iida and Rashika Kheria.

   - Tweak to null_blk to do more normal FIFO processing of requests
     from Shlomo Pongratz.

   - Elevator switching bypass fix from Tejun.

   - Softlockup in blkdev_issue_discard() fix when !CONFIG_PREEMPT from
     me"

* 'for-linus' of git://git.kernel.dk/linux-block: (31 commits)
  block: add cond_resched() to potentially long running ioctl discard loop
  xen-blkback: init persistent_purge_work work_struct
  blk-mq: pair blk_mq_start_request / blk_mq_requeue_request
  blk-mq: dont assume rq-&gt;errors is set when returning an error from -&gt;queue_rq
  block: Fix cloning of discard/write same bios
  block: Fix type mismatch in ssize_t_blk_mq_tag_sysfs_show
  blk-mq: rework flush sequencing logic
  null_blk: use blk_complete_request and blk_mq_complete_request
  virtio_blk: use blk_mq_complete_request
  blk-mq: rework I/O completions
  fs: Add prototype declaration to appropriate header file include/linux/bio.h
  fs: Mark function as static in fs/bio-integrity.c
  block/null_blk: Fix completion processing from LIFO to FIFO
  block: Explicitly handle discard/write same segments
  block: Fix nr_vecs for inline integrity vectors
  blk-mq: Add bio_integrity setup to blk_mq_make_request
  blk-mq: initialize sg_reserved_size
  blk-mq: handle dma_drain_size
  blk-mq: divert __blk_put_request for MQ ops
  blk-mq: support at_head inserations for blk_execute_rq
  ...
</content>
</entry>
<entry>
<title>xen-blkback: init persistent_purge_work work_struct</title>
<updated>2014-02-12T03:34:03Z</updated>
<author>
<name>Roger Pau Monne</name>
<email>roger.pau@citrix.com</email>
</author>
<published>2014-02-12T03:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=abb97b8c502a270d59c0c2e1ecea78ad752372ee'/>
<id>urn:sha1:abb97b8c502a270d59c0c2e1ecea78ad752372ee</id>
<content type='text'>
Initialize persistent_purge_work work_struct on xen_blkif_alloc (and
remove the previous initialization done in purge_persistent_gnt). This
prevents flush_work from complaining even if purge_persistent_gnt has
not been used.

Signed-off-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Reviewed-by: David Vrabel &lt;david.vrabel@citrix.com&gt;
Tested-by: Sander Eikelenboom &lt;linux@eikelenboom.it&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'stable/for-jens-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip into for-linus</title>
<updated>2014-02-10T19:52:34Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2014-02-10T19:52:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9d4cb8e3a5b448d802155688bf2d50ac1b9e1a51'/>
<id>urn:sha1:9d4cb8e3a5b448d802155688bf2d50ac1b9e1a51</id>
<content type='text'>
Konrad writes:

Please git pull the following branch:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git stable/for-jens-3.14

which is based off v3.13-rc6. If you would like me to rebase it on
a different branch/tag I would be more than happy to do so.

The patches are all bug-fixes and hopefully can go in 3.14.

They deal with xen-blkback shutdown and cause memory leaks
as well as shutdown races. They should go to stable tree and if you
are OK with I will ask them to backport those fixes.

There is also a fix to xen-blkfront to deal with unexpected state
transition. And lastly a fix to the header where it was using the
__aligned__ unnecessarily.
</content>
</entry>
<entry>
<title>null_blk: use blk_complete_request and blk_mq_complete_request</title>
<updated>2014-02-10T16:27:31Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2014-02-10T11:24:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ce2c350b2cfe5b5ca5023a6b1ec4d21821d39add'/>
<id>urn:sha1:ce2c350b2cfe5b5ca5023a6b1ec4d21821d39add</id>
<content type='text'>
Use the block layer helpers for CPU-local completions instead of
reimplementing them locally.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>virtio_blk: use blk_mq_complete_request</title>
<updated>2014-02-10T16:27:31Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2014-02-10T11:24:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5124c285797aa33d5fdb909fbe808a61bcc5eb9d'/>
<id>urn:sha1:5124c285797aa33d5fdb909fbe808a61bcc5eb9d</id>
<content type='text'>
Make sure to complete requests on the submitting CPU.  Previously this
was done in blk_mq_end_io, but the responsibility shifted to the drivers.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>block/null_blk: Fix completion processing from LIFO to FIFO</title>
<updated>2014-02-07T20:56:07Z</updated>
<author>
<name>Shlomo Pongratz</name>
<email>shlomop@mellanox.com</email>
</author>
<published>2014-02-06T16:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d7790b928d42597b7da21a4e43080774903e3b5c'/>
<id>urn:sha1:d7790b928d42597b7da21a4e43080774903e3b5c</id>
<content type='text'>
The completion queue is implemented using lockless list.

The llist_add is adds the events to the list head which is a push operation.
The processing of the completion elements is done by disconnecting all the
pushed elements and iterating over the disconnected list. The problem is
that the processing is done in reverse order w.r.t order of the insertion
i.e. LIFO processing. By reversing the disconnected list which is done in
linear time the desired FIFO processing is achieved.

Signed-off-by: Shlomo Pongratz &lt;shlomop@mellanox.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
</entry>
<entry>
<title>xen-blkfront: handle backend CLOSED without CLOSING</title>
<updated>2014-02-07T18:35:20Z</updated>
<author>
<name>David Vrabel</name>
<email>david.vrabel@citrix.com</email>
</author>
<published>2014-02-04T18:53:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3661371701e714f0cea4120f6a365340858fb4e4'/>
<id>urn:sha1:3661371701e714f0cea4120f6a365340858fb4e4</id>
<content type='text'>
Backend drivers shouldn't transistion to CLOSED unless the frontend is
CLOSED.  If a backend does transition to CLOSED too soon then the
frontend may not see the CLOSING state and will not properly shutdown.

So, treat an unexpected backend CLOSED state the same as CLOSING.

Signed-off-by: David Vrabel &lt;david.vrabel@citrix.com&gt;
Acked-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
</entry>
<entry>
<title>xen-blkif: drop struct blkif_request_segment_aligned</title>
<updated>2014-02-07T18:03:53Z</updated>
<author>
<name>Roger Pau Monne</name>
<email>roger.pau@citrix.com</email>
</author>
<published>2014-02-04T10:26:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=80bfa2f6e2e81049fc6cd3bfaeedcb64db3a9ba6'/>
<id>urn:sha1:80bfa2f6e2e81049fc6cd3bfaeedcb64db3a9ba6</id>
<content type='text'>
This was wrongly introduced in commit 402b27f9, the only difference
between blkif_request_segment_aligned and blkif_request_segment is
that the former has a named padding, while both share the same
memory layout.

Also correct a few minor glitches in the description, including for it
to no longer assume PAGE_SIZE == 4096.

Signed-off-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
[Description fix by Jan Beulich]
Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Reported-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Cc: David Vrabel &lt;david.vrabel@citrix.com&gt;
Cc: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Tested-by: Matt Rushton &lt;mrushton@amazon.com&gt;
Cc: Matt Wilson &lt;msw@amazon.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
</entry>
<entry>
<title>xen-blkback: fix shutdown race</title>
<updated>2014-02-07T17:59:30Z</updated>
<author>
<name>Roger Pau Monne</name>
<email>roger.pau@citrix.com</email>
</author>
<published>2014-02-04T10:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c05f3e3c85df1d89673e00cee7ece5ae4eb4c6ec'/>
<id>urn:sha1:c05f3e3c85df1d89673e00cee7ece5ae4eb4c6ec</id>
<content type='text'>
Introduce a new variable to keep track of the number of in-flight
requests. We need to make sure that when xen_blkif_put is called the
request has already been freed and we can safely free xen_blkif, which
was not the case before.

Signed-off-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Cc: David Vrabel &lt;david.vrabel@citrix.com&gt;
Reviewed-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Tested-by: Matt Rushton &lt;mrushton@amazon.com&gt;
Reviewed-by: Matt Rushton &lt;mrushton@amazon.com&gt;
Cc: Matt Wilson &lt;msw@amazon.com&gt;
Cc: Ian Campbell &lt;Ian.Campbell@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
</entry>
<entry>
<title>xen-blkback: fix memory leaks</title>
<updated>2014-02-07T17:58:46Z</updated>
<author>
<name>Roger Pau Monne</name>
<email>roger.pau@citrix.com</email>
</author>
<published>2014-02-04T10:26:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef753411339eae46b9a3151906901f8bfd12b0f1'/>
<id>urn:sha1:ef753411339eae46b9a3151906901f8bfd12b0f1</id>
<content type='text'>
I've at least identified two possible memory leaks in blkback, both
related to the shutdown path of a VBD:

- blkback doesn't wait for any pending purge work to finish before
  cleaning the list of free_pages. The purge work will call
  put_free_pages and thus we might end up with pages being added to
  the free_pages list after we have emptied it. Fix this by making
  sure there's no pending purge work before exiting
  xen_blkif_schedule, and moving the free_page cleanup code to
  xen_blkif_free.
- blkback doesn't wait for pending requests to end before cleaning
  persistent grants and the list of free_pages. Again this can add
  pages to the free_pages list or persistent grants to the
  persistent_gnts red-black tree. Fixed by moving the persistent
  grants and free_pages cleanup code to xen_blkif_free.

Also, add some checks in xen_blkif_free to make sure we are cleaning
everything.

Signed-off-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Reviewed-by: David Vrabel &lt;david.vrabel@citrix.com&gt;
Cc: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Tested-by: Matt Rushton &lt;mrushton@amazon.com&gt;
Reviewed-by: Matt Rushton &lt;mrushton@amazon.com&gt;
Cc: Matt Wilson &lt;msw@amazon.com&gt;
Cc: Ian Campbell &lt;Ian.Campbell@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
</entry>
</feed>
