<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/module, branch zfs-0.6.4</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Use vmem_alloc() in spa_config_write()</title>
<updated>2015-04-07T22:10:19+00:00</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2015-04-03T16:12:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f42d7f4111f754b0f77e5982278fc79d31408d8c'/>
<id>f42d7f4111f754b0f77e5982278fc79d31408d8c</id>
<content type='text'>
The packed nvlist allocated in spa_config_write() may exceed the
warning threshold for large configurations.  Use the vmem interfaces
for this short lived allocation.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3251
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The packed nvlist allocated in spa_config_write() may exceed the
warning threshold for large configurations.  Use the vmem interfaces
for this short lived allocation.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3251
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark all ZPL and ioctl functions as PF_FSTRANS</title>
<updated>2015-04-03T18:38:59+00:00</updated>
<author>
<name>Tim Chase</name>
<email>tim@chase2k.com</email>
</author>
<published>2015-03-31T03:43:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=40d06e3c78c23b199dfd9284809e710fab549391'/>
<id>40d06e3c78c23b199dfd9284809e710fab549391</id>
<content type='text'>
Prevent deadlocks by disabling direct reclaim during all ZPL and ioctl
calls as well as the l2arc and adapt ARC threads.

This obviates the need for MUTEX_FSTRANS so its previous uses and
definition have been eliminated.

Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3225
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevent deadlocks by disabling direct reclaim during all ZPL and ioctl
calls as well as the l2arc and adapt ARC threads.

This obviates the need for MUTEX_FSTRANS so its previous uses and
definition have been eliminated.

Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3225
</pre>
</div>
</content>
</entry>
<entry>
<title>Illumus 5693 - ztest fails in dbuf_verify: buf[i] == 0, due to dedup and bp_override</title>
<updated>2015-03-27T22:02:56+00:00</updated>
<author>
<name>Matthew Ahrens</name>
<email>mahrens@delphix.com</email>
</author>
<published>2015-03-27T06:11:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0f7d2a4b3d2d7fc0975a7ef53bd3c4700d47c51b'/>
<id>0f7d2a4b3d2d7fc0975a7ef53bd3c4700d47c51b</id>
<content type='text'>
5693 ztest fails in dbuf_verify: buf[i] == 0, due to dedup and bp_override
Reviewed by: George Wilson &lt;george@delphix.com&gt;
Reviewed by: Christopher Siden &lt;christopher.siden@delphix.com&gt;
Reviewed by: Bayard Bell &lt;buffer.g.overflow@gmail.com&gt;
Approved by: Dan McDonald &lt;danmcd@omniti.com&gt;

References:
  https://www.illumos.org/issues/5693
  https://github.com/illumos/illumos-gate/commit/7f7ace3

Ported-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3231
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
5693 ztest fails in dbuf_verify: buf[i] == 0, due to dedup and bp_override
Reviewed by: George Wilson &lt;george@delphix.com&gt;
Reviewed by: Christopher Siden &lt;christopher.siden@delphix.com&gt;
Reviewed by: Bayard Bell &lt;buffer.g.overflow@gmail.com&gt;
Approved by: Dan McDonald &lt;danmcd@omniti.com&gt;

References:
  https://www.illumos.org/issues/5693
  https://github.com/illumos/illumos-gate/commit/7f7ace3

Ported-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3231
</pre>
</div>
</content>
</entry>
<entry>
<title>Illumos 5694 - traverse_prefetcher does not prefetch enough</title>
<updated>2015-03-27T22:02:50+00:00</updated>
<author>
<name>George Wilson</name>
<email>george.wilson@delphix.com</email>
</author>
<published>2015-03-27T04:31:52+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b738bc5a0f8ccd0281ed06831c34fbe31d2b2138'/>
<id>b738bc5a0f8ccd0281ed06831c34fbe31d2b2138</id>
<content type='text'>
5694 traverse_prefetcher does not prefetch enough
Reviewed by: Matthew Ahrens &lt;mahrens@delphix.com&gt;
Reviewed by: Alex Reece &lt;alex@delphix.com&gt;
Reviewed by: Christopher Siden &lt;christopher.siden@delphix.com&gt;
Reviewed by: Josef 'Jeff' Sipek &lt;josef.sipek@nexenta.com&gt;
Reviewed by: Bayard Bell &lt;buffer.g.overflow@gmail.com&gt;
Approved by: Garrett D'Amore &lt;garrett@damore.org&gt;

References:
  https://www.illumos.org/issues/5694
  https://github.com/illumos/illumos-gate/commit/34d7ce05

Ported-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3230
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
5694 traverse_prefetcher does not prefetch enough
Reviewed by: Matthew Ahrens &lt;mahrens@delphix.com&gt;
Reviewed by: Alex Reece &lt;alex@delphix.com&gt;
Reviewed by: Christopher Siden &lt;christopher.siden@delphix.com&gt;
Reviewed by: Josef 'Jeff' Sipek &lt;josef.sipek@nexenta.com&gt;
Reviewed by: Bayard Bell &lt;buffer.g.overflow@gmail.com&gt;
Approved by: Garrett D'Amore &lt;garrett@damore.org&gt;

References:
  https://www.illumos.org/issues/5694
  https://github.com/illumos/illumos-gate/commit/34d7ce05

Ported-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3230
</pre>
</div>
</content>
</entry>
<entry>
<title>Align code with Illumos</title>
<updated>2015-03-27T21:52:45+00:00</updated>
<author>
<name>Chris Dunlop</name>
<email>chris@onthe.net.au</email>
</author>
<published>2015-03-27T04:04:12+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ee2f17aa2af3d8620470c3bbbe6f9dac9449d546'/>
<id>ee2f17aa2af3d8620470c3bbbe6f9dac9449d546</id>
<content type='text'>
Align code in traverse_visitbp() with that in Illumos in preparation for
applying Illumos-5694.

No functional change: use a temporary variable pd to replace multiple
occurrences of td-&gt;td_pfd.  This increases our stack use slightly more
then normal because the function is called recursively.

Signed-off-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #3230
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Align code in traverse_visitbp() with that in Illumos in preparation for
applying Illumos-5694.

No functional change: use a temporary variable pd to replace multiple
occurrences of td-&gt;td_pfd.  This increases our stack use slightly more
then normal because the function is called recursively.

Signed-off-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #3230
</pre>
</div>
</content>
</entry>
<entry>
<title>Illumos 5695 - dmu_sync'ed holes do not retain birth time</title>
<updated>2015-03-27T21:51:34+00:00</updated>
<author>
<name>Prakash Surya</name>
<email>prakash.surya@delphix.com</email>
</author>
<published>2015-03-27T02:03:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a4069eef2e403a3b2a307b23b7500e2adc6ecae5'/>
<id>a4069eef2e403a3b2a307b23b7500e2adc6ecae5</id>
<content type='text'>
5695 dmu_sync'ed holes do not retain birth time
Reviewed by: Matthew Ahrens &lt;mahrens@delphix.com&gt;
Reviewed by: George Wilson &lt;george@delphix.com&gt;
Reviewed by: Christopher Siden &lt;christopher.siden@delphix.com&gt;
Reviewed by: Bayard Bell &lt;buffer.g.overflow@gmail.com&gt;
Approved by: Dan McDonald &lt;danmcd@omniti.com&gt;

References:
  https://www.illumos.org/issues/5695
  https://github.com/illumos/illumos-gate/commit/70163ac

Ported-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3229
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
5695 dmu_sync'ed holes do not retain birth time
Reviewed by: Matthew Ahrens &lt;mahrens@delphix.com&gt;
Reviewed by: George Wilson &lt;george@delphix.com&gt;
Reviewed by: Christopher Siden &lt;christopher.siden@delphix.com&gt;
Reviewed by: Bayard Bell &lt;buffer.g.overflow@gmail.com&gt;
Approved by: Dan McDonald &lt;danmcd@omniti.com&gt;

References:
  https://www.illumos.org/issues/5695
  https://github.com/illumos/illumos-gate/commit/70163ac

Ported-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3229
</pre>
</div>
</content>
</entry>
<entry>
<title>dbuf_free_range() overzealously frees dbufs</title>
<updated>2015-03-25T21:48:22+00:00</updated>
<author>
<name>Ned Bass</name>
<email>bass6@llnl.gov</email>
</author>
<published>2015-03-25T00:00:08+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=58806b4cdc32e6f4e4a214cfba3b62a24efb34b7'/>
<id>58806b4cdc32e6f4e4a214cfba3b62a24efb34b7</id>
<content type='text'>
When called to free a spill block from a dnode, dbuf_free_range() has a
bug that results in all dbufs for the dnode getting freed.  A variety of
problems may result from this bug, but a common one was a zap lookup
tripping an ASSERT because the zap buffers had been zeroed out.  This
could happen on a dataset with xattr=sa set when extended attributes are
written and removed on a directory concurrently with I/O to files in
that directory.

Signed-off-by: Ned Bass &lt;bass6@llnl.gov&gt;
Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Fixes #3195
Fixes #3204
Fixes #3222
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When called to free a spill block from a dnode, dbuf_free_range() has a
bug that results in all dbufs for the dnode getting freed.  A variety of
problems may result from this bug, but a common one was a zap lookup
tripping an ASSERT because the zap buffers had been zeroed out.  This
could happen on a dataset with xattr=sa set when extended attributes are
written and removed on a directory concurrently with I/O to files in
that directory.

Signed-off-by: Ned Bass &lt;bass6@llnl.gov&gt;
Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Fixes #3195
Fixes #3204
Fixes #3222
</pre>
</div>
</content>
</entry>
<entry>
<title>Set the maximum ZVOL transfer size correctly</title>
<updated>2015-03-25T18:58:42+00:00</updated>
<author>
<name>Tim Chase</name>
<email>tim@chase2k.com</email>
</author>
<published>2015-03-23T17:10:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ded576e28fe70a40e78a90e4668de8130d599380'/>
<id>ded576e28fe70a40e78a90e4668de8130d599380</id>
<content type='text'>
ZoL had been setting max_sectors to UINT_MAX, but until Linux 3.19, it
the kernel artifically capped it at 1024 (BLK_DEF_MAX_SECTORS).
This cap was removed in torvalds/linux@34b48db.  This patch changes
it to DMU_MAX_ACCESS (in sectors) and also changes the ASSERT in
dmu_tx_hold_write() to allow the maximum transfer size.

Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3212
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ZoL had been setting max_sectors to UINT_MAX, but until Linux 3.19, it
the kernel artifically capped it at 1024 (BLK_DEF_MAX_SECTORS).
This cap was removed in torvalds/linux@34b48db.  This patch changes
it to DMU_MAX_ACCESS (in sectors) and also changes the ASSERT in
dmu_tx_hold_write() to allow the maximum transfer size.

Signed-off-by: Tim Chase &lt;tim@chase2k.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3212
</pre>
</div>
</content>
</entry>
<entry>
<title>zio_injection_enabled should not be a module option</title>
<updated>2015-03-24T20:22:03+00:00</updated>
<author>
<name>Isaac Huang</name>
<email>he.huang@intel.com</email>
</author>
<published>2015-03-22T05:32:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e89bd69775d5379f6835dade1e14005aa17f4903'/>
<id>e89bd69775d5379f6835dade1e14005aa17f4903</id>
<content type='text'>
The zio_inject.c keeps zio_injection_enabled as a counter of
fault handlers, so it should not be exported to user space as
a module option.

Several EXPORT_SYMBOLs are moved from zio.c to zio_inject.c,
where the symbols are defined.

Signed-off-by: Isaac Huang &lt;he.huang@intel.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3199
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The zio_inject.c keeps zio_injection_enabled as a counter of
fault handlers, so it should not be exported to user space as
a module option.

Several EXPORT_SYMBOLs are moved from zio.c to zio_inject.c,
where the symbols are defined.

Signed-off-by: Isaac Huang &lt;he.huang@intel.com&gt;
Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #3199
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce size of zfs_sb_t: allocate z_hold_mtx separately</title>
<updated>2015-03-24T20:17:44+00:00</updated>
<author>
<name>Chris Dunlop</name>
<email>chris@onthe.net.au</email>
</author>
<published>2015-03-16T01:21:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d07b7c7f210e3f92775ad93a7306812edf524bfc'/>
<id>d07b7c7f210e3f92775ad93a7306812edf524bfc</id>
<content type='text'>
zfs_sb_t has grown to the point where using kmem_zalloc() for allocations
is triggering the 32k warning threshold.

We can't safely convert this entire allocation to use vmem_alloc() instead
of kmem_alloc() because the backing_dev_info structure is embedded here.
It depends on the bit_waitqueue() function which won't behave properly
when given a virtual address.

Instead, use vmem_alloc() to allocate the z_hold_mtx array separately.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Closes #3178
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
zfs_sb_t has grown to the point where using kmem_zalloc() for allocations
is triggering the 32k warning threshold.

We can't safely convert this entire allocation to use vmem_alloc() instead
of kmem_alloc() because the backing_dev_info structure is embedded here.
It depends on the bit_waitqueue() function which won't behave properly
when given a virtual address.

Instead, use vmem_alloc() to allocate the z_hold_mtx array separately.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Chris Dunlop &lt;chris@onthe.net.au&gt;
Closes #3178
</pre>
</div>
</content>
</entry>
</feed>
