<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/block, branch v4.13</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.dk/linux-block</title>
<updated>2017-09-01T01:42:21+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-09-01T01:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=501d9f79451aff460c3b50c73706494d7ba82d72'/>
<id>501d9f79451aff460c3b50c73706494d7ba82d72</id>
<content type='text'>
Pull block fixes from Jens Axboe:
 "Unfortunately a few issues that warrant sending another pull request,
  even if I had hoped to avoid it. This contains:

   - A fix for multiqueue xen-blkback, on tear down / disconnect.

   - A few fixups for NVMe, including a wrong bit definition, fix for
     host memory buffers, and an nvme rdma page size fix"

* 'for-linus' of git://git.kernel.dk/linux-block:
  nvme: fix the definition of the doorbell buffer config support bit
  nvme-pci: use dma memory for the host memory buffer descriptors
  nvme-rdma: default MR page size to 4k
  xen-blkback: stop blkback thread of every queue in xen_blkif_disconnect
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull block fixes from Jens Axboe:
 "Unfortunately a few issues that warrant sending another pull request,
  even if I had hoped to avoid it. This contains:

   - A fix for multiqueue xen-blkback, on tear down / disconnect.

   - A few fixups for NVMe, including a wrong bit definition, fix for
     host memory buffers, and an nvme rdma page size fix"

* 'for-linus' of git://git.kernel.dk/linux-block:
  nvme: fix the definition of the doorbell buffer config support bit
  nvme-pci: use dma memory for the host memory buffer descriptors
  nvme-rdma: default MR page size to 4k
  xen-blkback: stop blkback thread of every queue in xen_blkif_disconnect
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'stable/for-jens-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus</title>
<updated>2017-08-29T14:32:58+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@kernel.dk</email>
</author>
<published>2017-08-29T14:32:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=015a2f823e49927e0da4361a7dfadf0aae33146b'/>
<id>015a2f823e49927e0da4361a7dfadf0aae33146b</id>
<content type='text'>
Pull xen-blkback fix from Konrad:

"[...] A bug-fix when shutting down xen block backend driver with
 multiple queues and the driver not clearing all of them."
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull xen-blkback fix from Konrad:

"[...] A bug-fix when shutting down xen block backend driver with
 multiple queues and the driver not clearing all of them."
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost</title>
<updated>2017-08-26T00:40:03+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-08-26T00:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=17e34c4fd0be14e989b08734b302cd357126fe2d'/>
<id>17e34c4fd0be14e989b08734b302cd357126fe2d</id>
<content type='text'>
Pull virtio fixes from Michael Tsirkin:
 "Fixes two obvious bugs in virtio pci"

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  virtio_pci: fix cpu affinity support
  virtio_blk: fix incorrect message when disk is resized
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull virtio fixes from Michael Tsirkin:
 "Fixes two obvious bugs in virtio pci"

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  virtio_pci: fix cpu affinity support
  virtio_blk: fix incorrect message when disk is resized
</pre>
</div>
</content>
</entry>
<entry>
<title>xen-blkback: stop blkback thread of every queue in xen_blkif_disconnect</title>
<updated>2017-08-25T19:59:34+00:00</updated>
<author>
<name>Annie Li</name>
<email>annie.li@oracle.com</email>
</author>
<published>2017-08-24T21:25:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=dc52d783d68c07a68743d42ef2f9a6f9a6d80fb1'/>
<id>dc52d783d68c07a68743d42ef2f9a6f9a6d80fb1</id>
<content type='text'>
In xen_blkif_disconnect, before checking inflight I/O, following code
stops the blkback thread,
if (ring-&gt;xenblkd) {
	kthread_stop(ring-&gt;xenblkd);
	wake_up(&amp;ring-&gt;shutdown_wq);
}
If there is inflight I/O in any non-last queue, blkback returns -EBUSY
directly, and above code would not be called to stop thread of remaining
queue and processs them. When removing vbd device with lots of disk I/O
load, some queues with inflight I/O still have blkback thread running even
though the corresponding vbd device or guest is gone.
And this could cause some problems, for example, if the backend device type
is file, some loop devices and blkback thread always lingers there forever
after guest is destroyed, and this causes failure of umounting repositories
unless rebooting the dom0.
This patch allows thread of every queue has the chance to get stopped.
Otherwise, only thread of queue previous to(including) first busy one get
stopped, blkthread of remaining queue will still run.  So stop all threads
properly and return -EBUSY if any queue has inflight I/O.

Signed-off-by: Annie Li &lt;annie.li@oracle.com&gt;
Reviewed-by: Herbert van den Bergh &lt;herbert.van.den.bergh@oracle.com&gt;
Reviewed-by: Bhavesh Davda &lt;bhavesh.davda@oracle.com&gt;
Reviewed-by: Adnan Misherfi &lt;adnan.misherfi@oracle.com&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In xen_blkif_disconnect, before checking inflight I/O, following code
stops the blkback thread,
if (ring-&gt;xenblkd) {
	kthread_stop(ring-&gt;xenblkd);
	wake_up(&amp;ring-&gt;shutdown_wq);
}
If there is inflight I/O in any non-last queue, blkback returns -EBUSY
directly, and above code would not be called to stop thread of remaining
queue and processs them. When removing vbd device with lots of disk I/O
load, some queues with inflight I/O still have blkback thread running even
though the corresponding vbd device or guest is gone.
And this could cause some problems, for example, if the backend device type
is file, some loop devices and blkback thread always lingers there forever
after guest is destroyed, and this causes failure of umounting repositories
unless rebooting the dom0.
This patch allows thread of every queue has the chance to get stopped.
Otherwise, only thread of queue previous to(including) first busy one get
stopped, blkthread of remaining queue will still run.  So stop all threads
properly and return -EBUSY if any queue has inflight I/O.

Signed-off-by: Annie Li &lt;annie.li@oracle.com&gt;
Reviewed-by: Herbert van den Bergh &lt;herbert.van.den.bergh@oracle.com&gt;
Reviewed-by: Bhavesh Davda &lt;bhavesh.davda@oracle.com&gt;
Reviewed-by: Adnan Misherfi &lt;adnan.misherfi@oracle.com&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio_blk: fix incorrect message when disk is resized</title>
<updated>2017-08-25T18:37:15+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
<email>stefanha@redhat.com</email>
</author>
<published>2017-07-26T14:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1046d304900cf9d4b2c730c6860b8e03cc704377'/>
<id>1046d304900cf9d4b2c730c6860b8e03cc704377</id>
<content type='text'>
The message printed on disk resize is incorrect.  The following is
printed when resizing to 2 GiB:

  $ truncate -s 1G test.img
  $ qemu -device virtio-blk-pci,logical_block_size=4096,...
  (qemu) block_resize drive1 2G

  virtio_blk virtio0: new size: 4194304 4096-byte logical blocks (17.2 GB/16.0 GiB)

The virtio_blk capacity config field is in 512-byte sector units
regardless of logical_block_size as per the VIRTIO specification.
Therefore the message should read:

  virtio_blk virtio0: new size: 524288 4096-byte logical blocks (2.15 GB/2.0 GiB)

Note that this only affects the printed message.  Thankfully the actual
block device has the correct size because the block layer expects
capacity in sectors.

Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The message printed on disk resize is incorrect.  The following is
printed when resizing to 2 GiB:

  $ truncate -s 1G test.img
  $ qemu -device virtio-blk-pci,logical_block_size=4096,...
  (qemu) block_resize drive1 2G

  virtio_blk virtio0: new size: 4194304 4096-byte logical blocks (17.2 GB/16.0 GiB)

The virtio_blk capacity config field is in 512-byte sector units
regardless of logical_block_size as per the VIRTIO specification.
Therefore the message should read:

  virtio_blk virtio0: new size: 524288 4096-byte logical blocks (2.15 GB/2.0 GiB)

Note that this only affects the printed message.  Thankfully the actual
block device has the correct size because the block layer expects
capacity in sectors.

Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "loop: support 4k physical blocksize"</title>
<updated>2017-08-23T21:57:55+00:00</updated>
<author>
<name>Omar Sandoval</name>
<email>osandov@fb.com</email>
</author>
<published>2017-08-23T21:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1e6ec9ea89d30739b9447c1860fcb07fc29f3aef'/>
<id>1e6ec9ea89d30739b9447c1860fcb07fc29f3aef</id>
<content type='text'>
There's some stuff still up in the air, let's not get stuck with a
subpar ABI. I'll follow up with something better for 4.14.

Signed-off-by: Omar Sandoval &lt;osandov@fb.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's some stuff still up in the air, let's not get stuck with a
subpar ABI. I'll follow up with something better for 4.14.

Signed-off-by: Omar Sandoval &lt;osandov@fb.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'stable/for-jens-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus</title>
<updated>2017-08-16T15:56:34+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@kernel.dk</email>
</author>
<published>2017-08-16T15:56:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3e09fc802d05695393a48f6c2d888771b80c4301'/>
<id>3e09fc802d05695393a48f6c2d888771b80c4301</id>
<content type='text'>
Pull xen block changes from Konrad:

Two fixes, both of them spotted by Amazon:

 1) Fix in Xen-blkfront caused by the re-write in 4.8 time-frame.
 2) Fix in the xen_biovec_phys_mergeable which allowed guest
    requests when using NVMe - to slurp up more data than allowed
    leading to an XSA (which has been made public today).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull xen block changes from Konrad:

Two fixes, both of them spotted by Amazon:

 1) Fix in Xen-blkfront caused by the re-write in 4.8 time-frame.
 2) Fix in the xen_biovec_phys_mergeable which allowed guest
    requests when using NVMe - to slurp up more data than allowed
    leading to an XSA (which has been made public today).
</pre>
</div>
</content>
</entry>
<entry>
<title>xen-blkfront: use a right index when checking requests</title>
<updated>2017-08-15T14:34:04+00:00</updated>
<author>
<name>Munehisa Kamata</name>
<email>kamatam@amazon.com</email>
</author>
<published>2017-08-09T22:31:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b15bd8cb37598afb2963f7eb9e2de468d2d60a2f'/>
<id>b15bd8cb37598afb2963f7eb9e2de468d2d60a2f</id>
<content type='text'>
Since commit d05d7f40791c ("Merge branch 'for-4.8/core' of
git://git.kernel.dk/linux-block") and 3fc9d690936f ("Merge branch
'for-4.8/drivers' of git://git.kernel.dk/linux-block"), blkfront_resume()
has been using an index for iterating ring_info to check request when
iterating blk_shadow in an inner loop. This seems to have been
accidentally introduced during the massive rewrite of the block layer
macros in the commits.

This may cause crash like this:

[11798.057074] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[11798.058832] IP: [&lt;ffffffff814411fa&gt;] blkfront_resume+0x10a/0x610
....
[11798.061063] Call Trace:
[11798.061063]  [&lt;ffffffff8139ce93&gt;] xenbus_dev_resume+0x53/0x140
[11798.061063]  [&lt;ffffffff8139ce40&gt;] ? xenbus_dev_probe+0x150/0x150
[11798.061063]  [&lt;ffffffff813f359e&gt;] dpm_run_callback+0x3e/0x110
[11798.061063]  [&lt;ffffffff813f3a08&gt;] device_resume+0x88/0x190
[11798.061063]  [&lt;ffffffff813f4cc0&gt;] dpm_resume+0x100/0x2d0
[11798.061063]  [&lt;ffffffff813f5221&gt;] dpm_resume_end+0x11/0x20
[11798.061063]  [&lt;ffffffff813950a8&gt;] do_suspend+0xe8/0x1a0
[11798.061063]  [&lt;ffffffff813954bd&gt;] shutdown_handler+0xfd/0x130
[11798.061063]  [&lt;ffffffff8139aba0&gt;] ? split+0x110/0x110
[11798.061063]  [&lt;ffffffff8139ac26&gt;] xenwatch_thread+0x86/0x120
[11798.061063]  [&lt;ffffffff810b4570&gt;] ? prepare_to_wait_event+0x110/0x110
[11798.061063]  [&lt;ffffffff8108fe57&gt;] kthread+0xd7/0xf0
[11798.061063]  [&lt;ffffffff811da811&gt;] ? kfree+0x121/0x170
[11798.061063]  [&lt;ffffffff8108fd80&gt;] ? kthread_park+0x60/0x60
[11798.061063]  [&lt;ffffffff810863b0&gt;] ?  call_usermodehelper_exec_work+0xb0/0xb0
[11798.061063]  [&lt;ffffffff810864ea&gt;] ?  call_usermodehelper_exec_async+0x13a/0x140
[11798.061063]  [&lt;ffffffff81534a45&gt;] ret_from_fork+0x25/0x30

Use the right index in the inner loop.

Fixes: d05d7f40791c ("Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block")
Fixes: 3fc9d690936f ("Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block")
Signed-off-by: Munehisa Kamata &lt;kamatam@amazon.com&gt;
Reviewed-by: Thomas Friebel &lt;friebelt@amazon.de&gt;
Reviewed-by: Eduardo Valentin &lt;eduval@amazon.com&gt;
Reviewed-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Cc: Juergen Gross &lt;jgross@suse.com&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Reviewed-by: Roger Pau Monne &lt;roger.pau@citrix.com&gt;
Cc: xen-devel@lists.xenproject.org
Cc: stable@vger.kernel.org
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since commit d05d7f40791c ("Merge branch 'for-4.8/core' of
git://git.kernel.dk/linux-block") and 3fc9d690936f ("Merge branch
'for-4.8/drivers' of git://git.kernel.dk/linux-block"), blkfront_resume()
has been using an index for iterating ring_info to check request when
iterating blk_shadow in an inner loop. This seems to have been
accidentally introduced during the massive rewrite of the block layer
macros in the commits.

This may cause crash like this:

[11798.057074] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[11798.058832] IP: [&lt;ffffffff814411fa&gt;] blkfront_resume+0x10a/0x610
....
[11798.061063] Call Trace:
[11798.061063]  [&lt;ffffffff8139ce93&gt;] xenbus_dev_resume+0x53/0x140
[11798.061063]  [&lt;ffffffff8139ce40&gt;] ? xenbus_dev_probe+0x150/0x150
[11798.061063]  [&lt;ffffffff813f359e&gt;] dpm_run_callback+0x3e/0x110
[11798.061063]  [&lt;ffffffff813f3a08&gt;] device_resume+0x88/0x190
[11798.061063]  [&lt;ffffffff813f4cc0&gt;] dpm_resume+0x100/0x2d0
[11798.061063]  [&lt;ffffffff813f5221&gt;] dpm_resume_end+0x11/0x20
[11798.061063]  [&lt;ffffffff813950a8&gt;] do_suspend+0xe8/0x1a0
[11798.061063]  [&lt;ffffffff813954bd&gt;] shutdown_handler+0xfd/0x130
[11798.061063]  [&lt;ffffffff8139aba0&gt;] ? split+0x110/0x110
[11798.061063]  [&lt;ffffffff8139ac26&gt;] xenwatch_thread+0x86/0x120
[11798.061063]  [&lt;ffffffff810b4570&gt;] ? prepare_to_wait_event+0x110/0x110
[11798.061063]  [&lt;ffffffff8108fe57&gt;] kthread+0xd7/0xf0
[11798.061063]  [&lt;ffffffff811da811&gt;] ? kfree+0x121/0x170
[11798.061063]  [&lt;ffffffff8108fd80&gt;] ? kthread_park+0x60/0x60
[11798.061063]  [&lt;ffffffff810863b0&gt;] ?  call_usermodehelper_exec_work+0xb0/0xb0
[11798.061063]  [&lt;ffffffff810864ea&gt;] ?  call_usermodehelper_exec_async+0x13a/0x140
[11798.061063]  [&lt;ffffffff81534a45&gt;] ret_from_fork+0x25/0x30

Use the right index in the inner loop.

Fixes: d05d7f40791c ("Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block")
Fixes: 3fc9d690936f ("Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block")
Signed-off-by: Munehisa Kamata &lt;kamatam@amazon.com&gt;
Reviewed-by: Thomas Friebel &lt;friebelt@amazon.de&gt;
Reviewed-by: Eduardo Valentin &lt;eduval@amazon.com&gt;
Reviewed-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Cc: Juergen Gross &lt;jgross@suse.com&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Reviewed-by: Roger Pau Monne &lt;roger.pau@citrix.com&gt;
Cc: xen-devel@lists.xenproject.org
Cc: stable@vger.kernel.org
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zram: rework copy of compressor name in comp_algorithm_store()</title>
<updated>2017-08-10T22:54:07+00:00</updated>
<author>
<name>Matthias Kaehlcke</name>
<email>mka@chromium.org</email>
</author>
<published>2017-08-10T22:24:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f357e345eef7863da037e0243f2d3df4ba6df986'/>
<id>f357e345eef7863da037e0243f2d3df4ba6df986</id>
<content type='text'>
comp_algorithm_store() passes the size of the source buffer to strlcpy()
instead of the destination buffer size.  Make it explicit that the two
buffers have the same size and use strcpy() instead of strlcpy().  The
latter can be done safely since the function ensures that the string in
the source buffer is terminated.

Link: http://lkml.kernel.org/r/20170803163350.45245-1-mka@chromium.org
Signed-off-by: Matthias Kaehlcke &lt;mka@chromium.org&gt;
Reviewed-by: Douglas Anderson &lt;dianders@chromium.org&gt;
Reviewed-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Acked-by: Minchan Kim &lt;minchan@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
comp_algorithm_store() passes the size of the source buffer to strlcpy()
instead of the destination buffer size.  Make it explicit that the two
buffers have the same size and use strcpy() instead of strlcpy().  The
latter can be done safely since the function ensures that the string in
the source buffer is terminated.

Link: http://lkml.kernel.org/r/20170803163350.45245-1-mka@chromium.org
Signed-off-by: Matthias Kaehlcke &lt;mka@chromium.org&gt;
Reviewed-by: Douglas Anderson &lt;dianders@chromium.org&gt;
Reviewed-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Acked-by: Minchan Kim &lt;minchan@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sunvdc: prevent sunvdc panic when mpgroup disk added to guest domain</title>
<updated>2017-08-10T05:22:32+00:00</updated>
<author>
<name>Jim Quigley</name>
<email>Jim.Quigley@oracle.com</email>
</author>
<published>2017-07-21T13:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3ee70591d6c47ef4c4699b3395ba96ce287db937'/>
<id>3ee70591d6c47ef4c4699b3395ba96ce287db937</id>
<content type='text'>
Using mpgroup to define multiple paths for a virtual disk causes multiple
virtual-device-port ports to be created for that virtual device.
Each virtual-device-port port then gets a vdisk created for it by the Linux
sunvdc driver. As mpgroup is not supported by the Linux sunvdc driver it
cannot handle multiple ports for a single vdisk, leading to a kernel panic
at startup.

This fix prevents more than one vdisk per virtual-device-port being created
until full virtual disk multipathing (mpgroup) support is implemented.

Signed-off-by: Jim Quigley &lt;Jim.Quigley@oracle.com&gt;
Reviewed-by: Liam Merwick &lt;liam.merwick@oracle.com&gt;
Reviewed-by: Shannon Nelson &lt;shannon.nelson@oracle.com&gt;
Reviewed-by: Alexandre Chartre &lt;alexandre.chartre@oracle.com&gt;
Reviewed-by: Aaron Young &lt;aaron.young@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using mpgroup to define multiple paths for a virtual disk causes multiple
virtual-device-port ports to be created for that virtual device.
Each virtual-device-port port then gets a vdisk created for it by the Linux
sunvdc driver. As mpgroup is not supported by the Linux sunvdc driver it
cannot handle multiple ports for a single vdisk, leading to a kernel panic
at startup.

This fix prevents more than one vdisk per virtual-device-port being created
until full virtual disk multipathing (mpgroup) support is implemented.

Signed-off-by: Jim Quigley &lt;Jim.Quigley@oracle.com&gt;
Reviewed-by: Liam Merwick &lt;liam.merwick@oracle.com&gt;
Reviewed-by: Shannon Nelson &lt;shannon.nelson@oracle.com&gt;
Reviewed-by: Alexandre Chartre &lt;alexandre.chartre@oracle.com&gt;
Reviewed-by: Aaron Young &lt;aaron.young@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
