<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/block, branch v4.8-rc2</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost</title>
<updated>2016-08-11T21:10:23+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2016-08-11T21:10:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6da7e95326976c0bee625f642e1c8ffa970efa07'/>
<id>6da7e95326976c0bee625f642e1c8ffa970efa07</id>
<content type='text'>
Pull virtio/vhost fixes and cleanups from Michael Tsirkin:
 "Misc fixes and cleanups all over the place"

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  virtio/s390: deprecate old transport
  virtio/s390: keep early_put_chars
  virtio_blk: Fix a slient kernel panic
  virtio-vsock: fix include guard typo
  vhost/vsock: fix vhost virtio_vsock_pkt use-after-free
  9p/trans_virtio: use kvfree() for iov_iter_get_pages_alloc()
  virtio: fix error handling for debug builds
  virtio: fix memory leak in virtqueue_add()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull virtio/vhost fixes and cleanups from Michael Tsirkin:
 "Misc fixes and cleanups all over the place"

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  virtio/s390: deprecate old transport
  virtio/s390: keep early_put_chars
  virtio_blk: Fix a slient kernel panic
  virtio-vsock: fix include guard typo
  vhost/vsock: fix vhost virtio_vsock_pkt use-after-free
  9p/trans_virtio: use kvfree() for iov_iter_get_pages_alloc()
  virtio: fix error handling for debug builds
  virtio: fix memory leak in virtqueue_add()
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: nuke the 32-bit pool id check</title>
<updated>2016-08-09T15:26:47+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-08-08T13:24:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d8734849d8007dacaa40b31ba7319ed28077141d'/>
<id>d8734849d8007dacaa40b31ba7319ed28077141d</id>
<content type='text'>
ceph_file_layout::pool_id is now s64.  rbd_add_get_pool_id() and
ceph_pg_poolid_by_name() both return an int, so it's bogus anyway.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ceph_file_layout::pool_id is now s64.  rbd_add_get_pool_id() and
ceph_pg_poolid_by_name() both return an int, so it's bogus anyway.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio_blk: Fix a slient kernel panic</title>
<updated>2016-08-09T10:42:39+00:00</updated>
<author>
<name>Minfei Huang</name>
<email>mnghuan@gmail.com</email>
</author>
<published>2016-08-09T08:39:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=347a529398e8e723338cca5d8a8ae2d9e7e93448'/>
<id>347a529398e8e723338cca5d8a8ae2d9e7e93448</id>
<content type='text'>
We do a lot of memory allocation in function init_vq, and don't handle
the allocation failure properly. Then this function will return 0,
although initialization fails due to lacking memory. At that moment,
kernel will panic in guest machine, if virtio is used to drive disk.

To fix this bug, we should take care of allocation failure, and return
correct value to let caller know what happen.

Tested-by: Chao Fan &lt;fanc.fnst@cn.fujitsu.com&gt;
Signed-off-by: Minfei Huang &lt;mnghuan@gmail.com&gt;
Signed-off-by: Minfei Huang &lt;minfei.hmf@alibaba-inc.com&gt;
Reviewed-by: Cornelia Huck &lt;cornelia.huck@de.ibm.com&gt;
Reviewed-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>
We do a lot of memory allocation in function init_vq, and don't handle
the allocation failure properly. Then this function will return 0,
although initialization fails due to lacking memory. At that moment,
kernel will panic in guest machine, if virtio is used to drive disk.

To fix this bug, we should take care of allocation failure, and return
correct value to let caller know what happen.

Tested-by: Chao Fan &lt;fanc.fnst@cn.fujitsu.com&gt;
Signed-off-by: Minfei Huang &lt;mnghuan@gmail.com&gt;
Signed-off-by: Minfei Huang &lt;minfei.hmf@alibaba-inc.com&gt;
Reviewed-by: Cornelia Huck &lt;cornelia.huck@de.ibm.com&gt;
Reviewed-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>rbd: destroy header_oloc in rbd_dev_release()</title>
<updated>2016-08-08T19:41:44+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-08-05T14:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6b6dddbe11b13bb00e0f9a1af2021e266811be85'/>
<id>6b6dddbe11b13bb00e0f9a1af2021e266811be85</id>
<content type='text'>
Purely cosmetic at this point, as rbd doesn't use RADOS namespaces and
hence rbd_dev-&gt;header_oloc-&gt;pool_ns is always NULL.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Purely cosmetic at this point, as rbd doesn't use RADOS namespaces and
hence rbd_dev-&gt;header_oloc-&gt;pool_ns is always NULL.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>block: rename bio bi_rw to bi_opf</title>
<updated>2016-08-07T20:41:02+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2016-08-05T21:35:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1eff9d322a444245c67515edb52bc0eb68374aa8'/>
<id>1eff9d322a444245c67515edb52bc0eb68374aa8</id>
<content type='text'>
Since commit 63a4cc24867d, bio-&gt;bi_rw contains flags in the lower
portion and the op code in the higher portions. This means that
old code that relies on manually setting bi_rw is most likely
going to be broken. Instead of letting that brokeness linger,
rename the member, to force old and out-of-tree code to break
at compile time instead of at runtime.

No intended functional changes in this commit.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since commit 63a4cc24867d, bio-&gt;bi_rw contains flags in the lower
portion and the op code in the higher portions. This means that
old code that relies on manually setting bi_rw is most likely
going to be broken. Instead of letting that brokeness linger,
rename the member, to force old and out-of-tree code to break
at compile time instead of at runtime.

No intended functional changes in this commit.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>block/mm: make bdev_ops-&gt;rw_page() take a bool for read/write</title>
<updated>2016-08-07T20:41:02+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@fb.com</email>
</author>
<published>2016-08-05T14:11:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c11f0c0b5bb949673e4fc16c742f0316ae4ced20'/>
<id>c11f0c0b5bb949673e4fc16c742f0316ae4ced20</id>
<content type='text'>
Commit abf545484d31 changed it from an 'rw' flags type to the
newer ops based interface, but now we're effectively leaking
some bdev internals to the rest of the kernel. Since we only
care about whether it's a read or a write at that level, just
pass in a bool 'is_write' parameter instead.

Then we can also move op_is_write() and friends back under
CONFIG_BLOCK protection.

Reviewed-by: Mike Christie &lt;mchristi@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit abf545484d31 changed it from an 'rw' flags type to the
newer ops based interface, but now we're effectively leaking
some bdev internals to the rest of the kernel. Since we only
care about whether it's a read or a write at that level, just
pass in a bool 'is_write' parameter instead.

Then we can also move op_is_write() and friends back under
CONFIG_BLOCK protection.

Reviewed-by: Mike Christie &lt;mchristi@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mm/block: convert rw_page users to bio op use</title>
<updated>2016-08-04T20:25:33+00:00</updated>
<author>
<name>Mike Christie</name>
<email>mchristi@redhat.com</email>
</author>
<published>2016-08-04T20:23:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=abf545484d31b68777a85c5c8f5b4bcde08283eb'/>
<id>abf545484d31b68777a85c5c8f5b4bcde08283eb</id>
<content type='text'>
The rw_page users were not converted to use bio/req ops. As a result
bdev_write_page is not passing down REQ_OP_WRITE and the IOs will
be sent down as reads.

Signed-off-by: Mike Christie &lt;mchristi@redhat.com&gt;
Fixes: 4e1b2d52a80d ("block, fs, drivers: remove REQ_OP compat defs and related code")

Modified by me to:

1) Drop op_flags passing into -&gt;rw_page(), as we don't use it.
2) Make op_is_write() and friends safe to use for !CONFIG_BLOCK

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The rw_page users were not converted to use bio/req ops. As a result
bdev_write_page is not passing down REQ_OP_WRITE and the IOs will
be sent down as reads.

Signed-off-by: Mike Christie &lt;mchristi@redhat.com&gt;
Fixes: 4e1b2d52a80d ("block, fs, drivers: remove REQ_OP compat defs and related code")

Modified by me to:

1) Drop op_flags passing into -&gt;rw_page(), as we don't use it.
2) Make op_is_write() and friends safe to use for !CONFIG_BLOCK

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>loop: make do_req_filebacked more robust</title>
<updated>2016-08-04T20:19:16+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2016-08-04T14:10:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c1c87c2ba9ec06d8ba9e8a26c18c67a2ba9cd9c1'/>
<id>c1c87c2ba9ec06d8ba9e8a26c18c67a2ba9cd9c1</id>
<content type='text'>
Use a switch statement to iterate over the possible operations and
error out if it's an incorrect one.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use a switch statement to iterate over the possible operations and
error out if it's an incorrect one.

Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>loop: don't try to use AIO for discards</title>
<updated>2016-08-04T20:19:16+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2016-08-04T14:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f0225cacfe7e69ff3234a125aeb0f3d65077835c'/>
<id>f0225cacfe7e69ff3234a125aeb0f3d65077835c</id>
<content type='text'>
Fix a fat-fingered conversion to the req_op accessors, and also
use a switch statement to make it more obvious what is being checked.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Dave Chinner &lt;david@fromorbit.com&gt;
Fixes: c2df40 ("drivers: use req op accessor");
Reviewed-by: Ming Lei &lt;ming.lei@canonical.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a fat-fingered conversion to the req_op accessors, and also
use a switch statement to make it more obvious what is being checked.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Dave Chinner &lt;david@fromorbit.com&gt;
Fixes: c2df40 ("drivers: use req op accessor");
Reviewed-by: Ming Lei &lt;ming.lei@canonical.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nbd: fix race in ioctl</title>
<updated>2016-08-04T20:19:16+00:00</updated>
<author>
<name>Vegard Nossum</name>
<email>vegard.nossum@oracle.com</email>
</author>
<published>2016-05-27T10:59:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=97240963eb308d8d21a89c0459822f7ea98463b4'/>
<id>97240963eb308d8d21a89c0459822f7ea98463b4</id>
<content type='text'>
Quentin ran into this bug:

WARNING: CPU: 64 PID: 10085 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x65/0x80
sysfs: cannot create duplicate filename '/devices/virtual/block/nbd3/pid'
Modules linked in: nbd
CPU: 64 PID: 10085 Comm: qemu-nbd Tainted: G      D         4.6.0+ #7
 0000000000000000 ffff8820330bba68 ffffffff814b8791 ffff8820330bbac8
 0000000000000000 ffff8820330bbab8 ffffffff810d04ab ffff8820330bbaa8
 0000001f00000296 0000000000017681 ffff8810380bf000 ffffffffa0001790
Call Trace:
 [&lt;ffffffff814b8791&gt;] dump_stack+0x4d/0x6c
 [&lt;ffffffff810d04ab&gt;] __warn+0xdb/0x100
 [&lt;ffffffff810d0574&gt;] warn_slowpath_fmt+0x44/0x50
 [&lt;ffffffff81218c65&gt;] sysfs_warn_dup+0x65/0x80
 [&lt;ffffffff81218a02&gt;] sysfs_add_file_mode_ns+0x172/0x180
 [&lt;ffffffff81218a35&gt;] sysfs_create_file_ns+0x25/0x30
 [&lt;ffffffff81594a76&gt;] device_create_file+0x36/0x90
 [&lt;ffffffffa0000e8d&gt;] __nbd_ioctl+0x32d/0x9b0 [nbd]
 [&lt;ffffffff814cc8e8&gt;] ? find_next_bit+0x18/0x20
 [&lt;ffffffff810f7c29&gt;] ? select_idle_sibling+0xe9/0x120
 [&lt;ffffffff810f6cd7&gt;] ? __enqueue_entity+0x67/0x70
 [&lt;ffffffff810f9bf0&gt;] ? enqueue_task_fair+0x630/0xe20
 [&lt;ffffffff810efa76&gt;] ? resched_curr+0x36/0x70
 [&lt;ffffffff810f0078&gt;] ? check_preempt_curr+0x78/0x90
 [&lt;ffffffff810f00a2&gt;] ? ttwu_do_wakeup+0x12/0x80
 [&lt;ffffffff810f01b1&gt;] ? ttwu_do_activate.constprop.86+0x61/0x70
 [&lt;ffffffff810f0c15&gt;] ? try_to_wake_up+0x185/0x2d0
 [&lt;ffffffff810f0d6d&gt;] ? default_wake_function+0xd/0x10
 [&lt;ffffffff81105471&gt;] ? autoremove_wake_function+0x11/0x40
 [&lt;ffffffffa0001577&gt;] nbd_ioctl+0x67/0x94 [nbd]
 [&lt;ffffffff814ac0fd&gt;] blkdev_ioctl+0x14d/0x940
 [&lt;ffffffff811b0da2&gt;] ? put_pipe_info+0x22/0x60
 [&lt;ffffffff811d96cc&gt;] block_ioctl+0x3c/0x40
 [&lt;ffffffff811ba08d&gt;] do_vfs_ioctl+0x8d/0x5e0
 [&lt;ffffffff811aa329&gt;] ? ____fput+0x9/0x10
 [&lt;ffffffff810e9092&gt;] ? task_work_run+0x72/0x90
 [&lt;ffffffff811ba627&gt;] SyS_ioctl+0x47/0x80
 [&lt;ffffffff8185f5df&gt;] entry_SYSCALL_64_fastpath+0x17/0x93
---[ end trace 7899b295e4f850c8 ]---

It seems fairly obvious that device_create_file() is not being protected
from being run concurrently on the same nbd.

Quentin found the following relevant commits:

1a2ad21 nbd: add locking to nbd_ioctl
90b8f28 [PATCH] end of methods switch: remove the old ones
d4430d6 [PATCH] beginning of methods conversion
08f8585 [PATCH] move block_device_operations to blkdev.h

It would seem that the race was introduced in the process of moving nbd
from BKL to unlocked ioctls.

By setting nbd-&gt;task_recv while the mutex is held, we can prevent other
processes from running concurrently (since nbd-&gt;task_recv is also checked
while the mutex is held).

Reported-and-tested-by: Quentin Casasnovas &lt;quentin.casasnovas@oracle.com&gt;
Cc: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Cc: Paul Clements &lt;paul.clements@steeleye.com&gt;
Cc: Pavel Machek &lt;pavel@suse.cz&gt;
Cc: Jens Axboe &lt;axboe@fb.com&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Vegard Nossum &lt;vegard.nossum@oracle.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Quentin ran into this bug:

WARNING: CPU: 64 PID: 10085 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x65/0x80
sysfs: cannot create duplicate filename '/devices/virtual/block/nbd3/pid'
Modules linked in: nbd
CPU: 64 PID: 10085 Comm: qemu-nbd Tainted: G      D         4.6.0+ #7
 0000000000000000 ffff8820330bba68 ffffffff814b8791 ffff8820330bbac8
 0000000000000000 ffff8820330bbab8 ffffffff810d04ab ffff8820330bbaa8
 0000001f00000296 0000000000017681 ffff8810380bf000 ffffffffa0001790
Call Trace:
 [&lt;ffffffff814b8791&gt;] dump_stack+0x4d/0x6c
 [&lt;ffffffff810d04ab&gt;] __warn+0xdb/0x100
 [&lt;ffffffff810d0574&gt;] warn_slowpath_fmt+0x44/0x50
 [&lt;ffffffff81218c65&gt;] sysfs_warn_dup+0x65/0x80
 [&lt;ffffffff81218a02&gt;] sysfs_add_file_mode_ns+0x172/0x180
 [&lt;ffffffff81218a35&gt;] sysfs_create_file_ns+0x25/0x30
 [&lt;ffffffff81594a76&gt;] device_create_file+0x36/0x90
 [&lt;ffffffffa0000e8d&gt;] __nbd_ioctl+0x32d/0x9b0 [nbd]
 [&lt;ffffffff814cc8e8&gt;] ? find_next_bit+0x18/0x20
 [&lt;ffffffff810f7c29&gt;] ? select_idle_sibling+0xe9/0x120
 [&lt;ffffffff810f6cd7&gt;] ? __enqueue_entity+0x67/0x70
 [&lt;ffffffff810f9bf0&gt;] ? enqueue_task_fair+0x630/0xe20
 [&lt;ffffffff810efa76&gt;] ? resched_curr+0x36/0x70
 [&lt;ffffffff810f0078&gt;] ? check_preempt_curr+0x78/0x90
 [&lt;ffffffff810f00a2&gt;] ? ttwu_do_wakeup+0x12/0x80
 [&lt;ffffffff810f01b1&gt;] ? ttwu_do_activate.constprop.86+0x61/0x70
 [&lt;ffffffff810f0c15&gt;] ? try_to_wake_up+0x185/0x2d0
 [&lt;ffffffff810f0d6d&gt;] ? default_wake_function+0xd/0x10
 [&lt;ffffffff81105471&gt;] ? autoremove_wake_function+0x11/0x40
 [&lt;ffffffffa0001577&gt;] nbd_ioctl+0x67/0x94 [nbd]
 [&lt;ffffffff814ac0fd&gt;] blkdev_ioctl+0x14d/0x940
 [&lt;ffffffff811b0da2&gt;] ? put_pipe_info+0x22/0x60
 [&lt;ffffffff811d96cc&gt;] block_ioctl+0x3c/0x40
 [&lt;ffffffff811ba08d&gt;] do_vfs_ioctl+0x8d/0x5e0
 [&lt;ffffffff811aa329&gt;] ? ____fput+0x9/0x10
 [&lt;ffffffff810e9092&gt;] ? task_work_run+0x72/0x90
 [&lt;ffffffff811ba627&gt;] SyS_ioctl+0x47/0x80
 [&lt;ffffffff8185f5df&gt;] entry_SYSCALL_64_fastpath+0x17/0x93
---[ end trace 7899b295e4f850c8 ]---

It seems fairly obvious that device_create_file() is not being protected
from being run concurrently on the same nbd.

Quentin found the following relevant commits:

1a2ad21 nbd: add locking to nbd_ioctl
90b8f28 [PATCH] end of methods switch: remove the old ones
d4430d6 [PATCH] beginning of methods conversion
08f8585 [PATCH] move block_device_operations to blkdev.h

It would seem that the race was introduced in the process of moving nbd
from BKL to unlocked ioctls.

By setting nbd-&gt;task_recv while the mutex is held, we can prevent other
processes from running concurrently (since nbd-&gt;task_recv is also checked
while the mutex is held).

Reported-and-tested-by: Quentin Casasnovas &lt;quentin.casasnovas@oracle.com&gt;
Cc: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Cc: Paul Clements &lt;paul.clements@steeleye.com&gt;
Cc: Pavel Machek &lt;pavel@suse.cz&gt;
Cc: Jens Axboe &lt;axboe@fb.com&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Vegard Nossum &lt;vegard.nossum@oracle.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
