<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src, branch zfs-0.7.0-rc4</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Tag 0.7.0-rc4</title>
<updated>2017-05-05T17:33:40+00:00</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2017-05-05T17:33:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a0e84010c94570fd2b6c8b43da49f0cd3e1a8e09'/>
<id>a0e84010c94570fd2b6c8b43da49f0cd3e1a8e09</id>
<content type='text'>
Fourth release candidate.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fourth release candidate.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix unused variable warning</title>
<updated>2017-05-05T17:23:58+00:00</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2017-05-05T17:17:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1eab430af7828cc1f85a7c26ef37d5da88884977'/>
<id>1eab430af7828cc1f85a7c26ef37d5da88884977</id>
<content type='text'>
Remove the lz4_ac local variable from dmu_write_policy() to resolve
the following unused variable warning on non-debug builds.

dmu.c: In function ‘dmu_write_policy’:
dmu.c:1892:12: warning: unused variable ‘lz4_ac’ [-Wunused-variable]
  boolean_t lz4_ac = spa_feature_is_active(os-&gt;os_spa,

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the lz4_ac local variable from dmu_write_policy() to resolve
the following unused variable warning on non-debug builds.

dmu.c: In function ‘dmu_write_policy’:
dmu.c:1892:12: warning: unused variable ‘lz4_ac’ [-Wunused-variable]
  boolean_t lz4_ac = spa_feature_is_active(os-&gt;os_spa,

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add missing *_destroy/*_fini calls</title>
<updated>2017-05-04T23:26:28+00:00</updated>
<author>
<name>Gvozden Neskovic</name>
<email>neskovic@gmail.com</email>
</author>
<published>2016-11-26T20:30:44+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c17486b2178fc545c50d48effd4be47d33208933'/>
<id>c17486b2178fc545c50d48effd4be47d33208933</id>
<content type='text'>
The proposed debugging enhancements in zfsonlinux/spl#587
identified the following missing *_destroy/*_fini calls.

Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Gvozden Neskovic &lt;neskovic@gmail.com&gt;
Closes #5428
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The proposed debugging enhancements in zfsonlinux/spl#587
identified the following missing *_destroy/*_fini calls.

Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Gvozden Neskovic &lt;neskovic@gmail.com&gt;
Closes #5428
</pre>
</div>
</content>
</entry>
<entry>
<title>Default to zvol_request_async=0</title>
<updated>2017-05-04T22:01:50+00:00</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2017-05-03T00:37:14+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8fa5250f5d779e577406c581fc2d7fbf0baceea5'/>
<id>8fa5250f5d779e577406c581fc2d7fbf0baceea5</id>
<content type='text'>
Change the default ZVOL behavior so requests are handled asynchronously.
This behavior is functionally the same as in the zfs-0.6.4 release.

Reviewed-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #5902
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the default ZVOL behavior so requests are handled asynchronously.
This behavior is functionally the same as in the zfs-0.6.4 release.

Reviewed-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #5902
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable Linux read-ahead for a single page on ZVOLs</title>
<updated>2017-05-04T22:00:27+00:00</updated>
<author>
<name>Richard Yao</name>
<email>ryao@gentoo.org</email>
</author>
<published>2014-07-11T18:35:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=bc17f1047a83cc8c4065e0ef84333a0d9b9d73aa'/>
<id>bc17f1047a83cc8c4065e0ef84333a0d9b9d73aa</id>
<content type='text'>
Linux has read-ahead logic designed to accelerate sequential workloads.
ZFS has its own read-ahead logic called zprefetch that operates on both
ZVOLs and datasets. Having two prefetchers active at the same time can
cause overprefetching, which unnecessarily reduces IOPS performance on
CoW filesystems like ZFS.

Testing shows that entirely disabling the Linux prefetch results in
a significant performance penalty for reads while commensurate benefits
are seen in random writes. It appears that read-ahead benefits are
inversely proportional to random write benefits, and so a single page
of Linux-layer read-ahead appears to offer the middle ground for both
workloads.

Reviewed-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Richard Yao &lt;ryao@gentoo.org&gt;
Issue #5902
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linux has read-ahead logic designed to accelerate sequential workloads.
ZFS has its own read-ahead logic called zprefetch that operates on both
ZVOLs and datasets. Having two prefetchers active at the same time can
cause overprefetching, which unnecessarily reduces IOPS performance on
CoW filesystems like ZFS.

Testing shows that entirely disabling the Linux prefetch results in
a significant performance penalty for reads while commensurate benefits
are seen in random writes. It appears that read-ahead benefits are
inversely proportional to random write benefits, and so a single page
of Linux-layer read-ahead appears to offer the middle ground for both
workloads.

Reviewed-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Richard Yao &lt;ryao@gentoo.org&gt;
Issue #5902
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable write merging on ZVOLs</title>
<updated>2017-05-04T21:59:52+00:00</updated>
<author>
<name>RageLtMan</name>
<email>rageltman [at] sempervictus</email>
</author>
<published>2017-03-18T04:51:36+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5731140eaf4aaf2526a8bfdbfe250195842e79eb'/>
<id>5731140eaf4aaf2526a8bfdbfe250195842e79eb</id>
<content type='text'>
The current ZVOL implementation does not explicitly set merge
options on ZVOL device queues, which results in the default merge
behavior.

Explicitly set QUEUE_FLAG_NOMERGES on ZVOL queues allowing the
ZIO pipeline to do its work.

Initial benchmarks (tiotest with no O_DIRECT) show random write
performance going up almost 3X on 8K ZVOLs, even after significant
rewrites of the logical space allocation.

Reviewed-by: Richard Yao &lt;ryao@gentoo.org&gt;
Reviewed-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: RageLtMan &lt;rageltman@sempervictus&gt;
Issue #5902
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current ZVOL implementation does not explicitly set merge
options on ZVOL device queues, which results in the default merge
behavior.

Explicitly set QUEUE_FLAG_NOMERGES on ZVOL queues allowing the
ZIO pipeline to do its work.

Initial benchmarks (tiotest with no O_DIRECT) show random write
performance going up almost 3X on 8K ZVOLs, even after significant
rewrites of the logical space allocation.

Reviewed-by: Richard Yao &lt;ryao@gentoo.org&gt;
Reviewed-by: Chunwei Chen &lt;david.chen@osnexus.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: RageLtMan &lt;rageltman@sempervictus&gt;
Issue #5902
</pre>
</div>
</content>
</entry>
<entry>
<title>Update rsend_014_pos and send-c_volume test cases</title>
<updated>2017-05-04T21:32:43+00:00</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2017-05-04T21:32:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4cb932d95140e358426cb7ca8505ee5e66939bcc'/>
<id>4cb932d95140e358426cb7ca8505ee5e66939bcc</id>
<content type='text'>
The send-c_volume test case has been observed to occasionally
fail on 32-bit systems.  Until this issue is fully understood
disable this test case.

The rsend_014_pos test case can occasionally fail due to an
EBUSY during export.  This can lead to subsequent test failures.
Resolve the issue by retrying the export on EBUSY.  Additionally,
remove the gratuitous use of eval.

Reviewed-by: Giuseppe Di Natale &lt;dinatale2@llnl.gov&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #6088 </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The send-c_volume test case has been observed to occasionally
fail on 32-bit systems.  Until this issue is fully understood
disable this test case.

The rsend_014_pos test case can occasionally fail due to an
EBUSY during export.  This can lead to subsequent test failures.
Resolve the issue by retrying the export on EBUSY.  Additionally,
remove the gratuitous use of eval.

Reviewed-by: Giuseppe Di Natale &lt;dinatale2@llnl.gov&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #6088 </pre>
</div>
</content>
</entry>
<entry>
<title>Enable all zfs_destroy test cases</title>
<updated>2017-05-04T01:27:59+00:00</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2017-05-04T01:27:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=35b7842f6821ecbf019e64204730cc0425ecc331'/>
<id>35b7842f6821ecbf019e64204730cc0425ecc331</id>
<content type='text'>
* zfs_destroy_001_pos - Unable to reproduce the failures locally.
  Re-enabled to determine observed buildbot failure rate.

* zfs_destroy_005_neg - Updated for expected Linux behavior.
  Busy mount points, even snapshots, are expected to fail.

* zfs_destroy_010_pos - Resolved transient EBUSY with retry.

Reviewed-by: Giuseppe Di Natale &lt;dinatale2@llnl.gov&gt;
Reviewed-by: George Melikov &lt;mail@gmelikov.ru&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #5635 
Issue #5893 
Closes #6091 </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* zfs_destroy_001_pos - Unable to reproduce the failures locally.
  Re-enabled to determine observed buildbot failure rate.

* zfs_destroy_005_neg - Updated for expected Linux behavior.
  Busy mount points, even snapshots, are expected to fail.

* zfs_destroy_010_pos - Resolved transient EBUSY with retry.

Reviewed-by: Giuseppe Di Natale &lt;dinatale2@llnl.gov&gt;
Reviewed-by: George Melikov &lt;mail@gmelikov.ru&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #5635 
Issue #5893 
Closes #6091 </pre>
</div>
</content>
</entry>
<entry>
<title>More ashift improvements</title>
<updated>2017-05-03T16:31:05+00:00</updated>
<author>
<name>LOLi</name>
<email>loli10K@users.noreply.github.com</email>
</author>
<published>2017-05-03T16:31:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=dddef7d600580ea35177299fe8394f665cc13387'/>
<id>dddef7d600580ea35177299fe8394f665cc13387</id>
<content type='text'>
This commit allow higher ashift values (up to 16) in 'zpool create'

The ashift value was previously limited to 13 (8K block) in b41c990
because the limited number of uberblocks we could fit in the
statically sized (128K) vdev label ring buffer could prevent the
ability the safely roll back a pool to recover it.

Since b02fe35 the largest uberblock size we support is 8K: this
allow us to store a minimum number of 16 uberblocks in the vdev
label, even with higher ashift values.

Additionally change 'ashift' pool property behaviour: if set it will
be used as the default hint value in subsequent vdev operations
('zpool add', 'attach' and 'replace'). A custom ashift value can still
be specified from the command line, if desired.

Finally, fix a bug in add-o_ashift.ksh caused by a missing variable.

Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: loli10K &lt;ezomori.nozomu@gmail.com&gt;
Closes #2024 
Closes #4205 
Closes #4740 
Closes #5763 </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit allow higher ashift values (up to 16) in 'zpool create'

The ashift value was previously limited to 13 (8K block) in b41c990
because the limited number of uberblocks we could fit in the
statically sized (128K) vdev label ring buffer could prevent the
ability the safely roll back a pool to recover it.

Since b02fe35 the largest uberblock size we support is 8K: this
allow us to store a minimum number of 16 uberblocks in the vdev
label, even with higher ashift values.

Additionally change 'ashift' pool property behaviour: if set it will
be used as the default hint value in subsequent vdev operations
('zpool add', 'attach' and 'replace'). A custom ashift value can still
be specified from the command line, if desired.

Finally, fix a bug in add-o_ashift.ksh caused by a missing variable.

Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: loli10K &lt;ezomori.nozomu@gmail.com&gt;
Closes #2024 
Closes #4205 
Closes #4740 
Closes #5763 </pre>
</div>
</content>
</entry>
<entry>
<title>Write label 2,3 uberblocks when vdev expands</title>
<updated>2017-05-02T20:55:24+00:00</updated>
<author>
<name>Olaf Faaland</name>
<email>faaland1@llnl.gov</email>
</author>
<published>2017-05-02T20:55:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9d3f7b87919b7d0d869153ca72844f565cd0bf52'/>
<id>9d3f7b87919b7d0d869153ca72844f565cd0bf52</id>
<content type='text'>
When vdev_psize increases, the location of labels 2 and 3 changes
because their location is relative to the end of the device.

The configs for labels 2 and 3 are written during the next spa_sync()
because the vdev is added to the dirty config list.  However, the
uberblock rings are not re-written in their new location, leaving the
device vulnerable to the beginning of the device being overwritten or
damaged.

This patch copies the uberblock ring from label 0 to labels 2 and 3,
in their new locations, at the next sync after vdev_psize increases.

Also, add a test zpool_expand_004_pos.ksh to confirm the uberblocks
are copied.

Reviewed-by: BearBabyLiu &lt;liu.huang@zte.com.cn&gt;
Reviewed-by: Andreas Dilger &lt;andreas.dilger@intel.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Olaf Faaland &lt;faaland1@llnl.gov&gt;
Closes #5108 </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When vdev_psize increases, the location of labels 2 and 3 changes
because their location is relative to the end of the device.

The configs for labels 2 and 3 are written during the next spa_sync()
because the vdev is added to the dirty config list.  However, the
uberblock rings are not re-written in their new location, leaving the
device vulnerable to the beginning of the device being overwritten or
damaged.

This patch copies the uberblock ring from label 0 to labels 2 and 3,
in their new locations, at the next sync after vdev_psize increases.

Also, add a test zpool_expand_004_pos.ksh to confirm the uberblocks
are copied.

Reviewed-by: BearBabyLiu &lt;liu.huang@zte.com.cn&gt;
Reviewed-by: Andreas Dilger &lt;andreas.dilger@intel.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Olaf Faaland &lt;faaland1@llnl.gov&gt;
Closes #5108 </pre>
</div>
</content>
</entry>
</feed>
