<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/include/linux/blkdev_compat.h, branch zfs-0.7.0-rc2</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=zfs-0.7.0-rc2</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=zfs-0.7.0-rc2'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2016-10-26T17:30:43Z</updated>
<entry>
<title>Fix lookup_bdev() on Ubuntu</title>
<updated>2016-10-26T17:30:43Z</updated>
<author>
<name>Hajo Möller</name>
<email>dasjoe@users.noreply.github.com</email>
</author>
<published>2016-10-26T17:30:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e02aaf17f15ad274fa1f24c9c826f1477911ea3f'/>
<id>urn:sha1:e02aaf17f15ad274fa1f24c9c826f1477911ea3f</id>
<content type='text'>
Ubuntu added support for checking inode permissions to lookup_bdev() in kernel
commit 193fb6a2c94fab8eb8ce70a5da4d21c7d4023bee (merged in 4.4.0-6.21).
Upstream bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1636517

This patch adds a test for Ubuntu's variant of lookup_bdev() to configure and
calls the function in the correct way.

Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Hajo Möller &lt;dasjoe@gmail.com&gt;
Closes #5336 </content>
</entry>
<entry>
<title>Reorder HAVE_BIO_RW_* checks</title>
<updated>2016-08-12T16:17:40Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2016-08-11T21:58:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6eb73b00466b4d72c9e0f0df8e000ef68b757c99'/>
<id>urn:sha1:6eb73b00466b4d72c9e0f0df8e000ef68b757c99</id>
<content type='text'>
The HAVE_BIO_RW_* #ifdef's must appear before REQ_* #ifdef's
in the bio_is_flush() and bio_is_discard() macros.  Linux 2.6.32
era kernels defined both of values and the HAVE_BIO_RW_* must be
used in this case.  This resulted in a panic in zconfig test 5.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Closes #4951
Closes #4959
</content>
</entry>
<entry>
<title>Linux 4.8 compat: Fix removal of bio-&gt;bi_rw member</title>
<updated>2016-08-11T18:19:34Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2016-08-09T18:22:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cf41432c70c2df282f0f4ed7647154f3f4972d34'/>
<id>urn:sha1:cf41432c70c2df282f0f4ed7647154f3f4972d34</id>
<content type='text'>
All users of bio-&gt;bi_rw have been replaced with compatibility wrappers.
This allows the kernel specific logic to be abstracted away, and for
each of the supported cases to be documented with the wrapper.  The
updated interfaces are as follows:

* void blk_queue_set_write_cache(struct request_queue *, bool, bool)
* boolean_t bio_is_flush(struct bio *)
* boolean_t bio_is_fua(struct bio *)
* boolean_t bio_is_discard(struct bio *)
* boolean_t bio_is_secure_erase(struct bio *)
* VDEV_WRITE_FLUSH_FUA

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Closes #4951
</content>
</entry>
<entry>
<title>Linux 4.8 compat: REQ_OP and bio_set_op_attrs()</title>
<updated>2016-07-29T21:48:19Z</updated>
<author>
<name>Chunwei Chen</name>
<email>david.chen@osnexus.com</email>
</author>
<published>2016-07-27T17:55:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3b86aeb2952c91aeb8ed0ebf9d5e43119fa537a0'/>
<id>urn:sha1:3b86aeb2952c91aeb8ed0ebf9d5e43119fa537a0</id>
<content type='text'>
New REQ_OP_* definitions have been introduced to separate the
WRITE, READ, and DISCARD operations from the flags.  This included
changing the encoding of bi_rw.  It places REQ_OP_* in high order
bits and other stuff in low order bits.  This encoding is done
through the new helper function bio_set_op_attrs.  For complete
details refer to:

https://github.com/torvalds/linux/commit/f215082
https://github.com/torvalds/linux/commit/4e1b2d5

Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #4892
Closes #4899
</content>
</entry>
<entry>
<title>Linux 4.8 compat: REQ_PREFLUSH</title>
<updated>2016-07-29T21:48:09Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2016-07-27T18:06:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=76e5f6fe10ab8c9c8ae13e4c33ecb68f3d0ce5dc'/>
<id>urn:sha1:76e5f6fe10ab8c9c8ae13e4c33ecb68f3d0ce5dc</id>
<content type='text'>
The REQ_FLUSH flag was renamed REQ_PREFLUSH to avoid confusion with
REQ_OP_FLUSH.  See https://github.com/torvalds/linux/commit/28a8f0d3
for complete details.

Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #4892
Issue #4899
</content>
</entry>
<entry>
<title>Linux 4.7 compat: replace blk_queue_flush with blk_queue_write_cache</title>
<updated>2016-05-20T18:08:55Z</updated>
<author>
<name>Chunwei Chen</name>
<email>david.chen@osnexus.com</email>
</author>
<published>2016-05-18T20:45:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=68e8f59afb0fa1b388c7dbb8720ac6756d390146'/>
<id>urn:sha1:68e8f59afb0fa1b388c7dbb8720ac6756d390146</id>
<content type='text'>
Signed-off-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #4665
</content>
</entry>
<entry>
<title>Use uio for zvol_{read,write}</title>
<updated>2015-12-16T00:21:43Z</updated>
<author>
<name>Chunwei Chen</name>
<email>david.chen@osnexus.com</email>
</author>
<published>2015-12-08T20:37:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2727b9d3b63a938c1797d31378e6a5a1dcd43573'/>
<id>urn:sha1:2727b9d3b63a938c1797d31378e6a5a1dcd43573</id>
<content type='text'>
Since uio now supports bvec, we can convert bio into uio and reuse
dmu_{read,write}_uio. This way, we can remove some duplicate code.

Signed-off-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #4078
</content>
</entry>
<entry>
<title>Linux 4.3 compat: bio_end_io_t / BIO_UPTODATE</title>
<updated>2015-09-25T19:44:54Z</updated>
<author>
<name>Lukas Wunner</name>
<email>lukas@wunner.de</email>
</author>
<published>2015-09-23T15:55:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=784a7fe5d9a0c02e96f3ae019a08ecebee2a7018'/>
<id>urn:sha1:784a7fe5d9a0c02e96f3ae019a08ecebee2a7018</id>
<content type='text'>
Commit torvalds/linux@4246a0b63bd8f56a1469b12eafeb875b1041a451
("block: add a bi_error field to struct bio") dropped the error
argument from bio_endio in favor of newly introduced bio-&gt;bi_error.
This also replaces bio-&gt;bi_flags value BIO_UPTODATE.

bio_endio was a 3 argument function until Linux 2.6.24, which made it
a 2 argument function, and now the prototype has changed yet again to
a 1 argument function. Support for pre 2.6.24 kernels was already
dropped with 37f9dac592bf ("zvol processing should use struct bio")
which assumed the 2 argument version in zvol_request(). Remaining code
to support the 3 argument version is hereby removed.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt;
Issue #3799
</content>
</entry>
<entry>
<title>Reintroduce IO accounting on zvols on Linux 3.19+</title>
<updated>2015-09-09T16:29:24Z</updated>
<author>
<name>Richard Yao</name>
<email>ryao@gentoo.org</email>
</author>
<published>2015-09-07T16:03:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8198d18ca7e05ec30139e10d658a8b06c0ec4c55'/>
<id>urn:sha1:8198d18ca7e05ec30139e10d658a8b06c0ec4c55</id>
<content type='text'>
zfsonlinux/zfs@e20cd6f7a8922709b1aa2ecefd783390102d79e0 caused us to
lose IO accounting on zvols. When I originally wrote that last year, the
symbols we needed to maintain IO accounting were GPL exported, but
torvalds/linux@394ffa503bc40e32d7f54a9b817264e81ce131b4 provided
suitable symbols for restoring this functionality 4 months later.  We
can call them to restore the IO accounting on Linux 3.19 and later as
well as any older kernels where that patch is backported.

Signed-off-by: Richard Yao &lt;ryao@gentoo.org&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3741
</content>
</entry>
<entry>
<title>Remove blk_rq_bytes()/blk_rq_sectors autotools checks</title>
<updated>2015-09-04T19:37:24Z</updated>
<author>
<name>Richard Yao</name>
<email>ryao@gentoo.org</email>
</author>
<published>2014-07-07T01:06:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7d6e2adb4e4a60efe2a906faf00d134c0403dda5'/>
<id>urn:sha1:7d6e2adb4e4a60efe2a906faf00d134c0403dda5</id>
<content type='text'>
Signed-off-by: Richard Yao &lt;ryao@gentoo.org&gt;
</content>
</entry>
</feed>
