<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/scripts/zconfig.sh, branch zfs-0.6.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=zfs-0.6.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=zfs-0.6.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-02-10T23:48:32Z</updated>
<entry>
<title>Fix zconfig.sh test 9</title>
<updated>2014-02-10T23:48:32Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2014-02-07T18:54:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0820ec65c4027b878894776a0fbbeac271e87803'/>
<id>urn:sha1:0820ec65c4027b878894776a0fbbeac271e87803</id>
<content type='text'>
Commit ba6a240 adjusted the behavior of 'zfs create -V'.  The
caller is no longer guaranteed that udev will have finished
creating the /dev/ entries by the time to command exits.  It
is therefore required that we explicitly block waiting for
udev to settle for this test to run reliably.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
</entry>
<entry>
<title>Silence e2fsck warning in zconfig.sh</title>
<updated>2013-12-16T17:46:10Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2013-12-13T19:29:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c2d439dffd4c404d39e82e5b174a338515080f26'/>
<id>urn:sha1:c2d439dffd4c404d39e82e5b174a338515080f26</id>
<content type='text'>
When running zconfig.sh test 7 and 8 cause the following warning to
be printed to the console.  It's caused because we're snapshoting a
mounted ext2 filesystem which is not in a 'clean' state.  This is
to be expected since we have no guarentees about the on-disk
consistency of the filesystem.

EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended

To silence the warning and preserve the intent of these test cases
they have been updated to unmount the filesystem prior to snapshoting
them.  This ensures the ext2 filesystem is in a consistent state
when the snapshot is taken.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Ned Bass &lt;bass6@llnl.gov&gt;
Closes #1972
</content>
</entry>
<entry>
<title>Open pools asynchronously after module load</title>
<updated>2013-07-03T16:24:38Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2013-07-02T18:59:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=91604b298c24c84fe03bc6c028abb961ca3e6fcf'/>
<id>urn:sha1:91604b298c24c84fe03bc6c028abb961ca3e6fcf</id>
<content type='text'>
One of the side effects of calling zvol_create_minors() in
zvol_init() is that all pools listed in the cache file will
be opened.  Depending on the state and contents of your pool
this operation can take a considerable length of time.

Doing this at load time is undesirable because the kernel
is holding a global module lock.  This prevents other modules
from loading and can serialize an otherwise parallel boot
process.  Doing this after module inititialization also
reduces the chances of accidentally introducing a race
during module init.

To ensure that /dev/zvol/&lt;pool&gt;/&lt;dataset&gt; devices are
still automatically created after the module load completes
a udev rules has been added.  When udev notices that the
/dev/zfs device has been create the 'zpool list' command
will be run.  This then will cause all the pools listed
in the zpool.cache file to be opened.

Because this process in now driven asynchronously by udev
there is the risk of problems in downstream distributions.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Issue #756
Issue #1020
Issue #1234
</content>
</entry>
<entry>
<title>Add snapdev=[hidden|visible] dataset property</title>
<updated>2013-03-05T20:37:54Z</updated>
<author>
<name>Eric Dillmann</name>
<email>eric@jave.fr</email>
</author>
<published>2013-02-13T23:11:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0b4d1b5853791e1e447d74f0b229800d65b53071'/>
<id>urn:sha1:0b4d1b5853791e1e447d74f0b229800d65b53071</id>
<content type='text'>
The new snapdev dataset property may be set to control the
visibility of zvol snapshot devices.  By default this value
is set to 'hidden' which will prevent zvol snapshots from
appearing under /dev/zvol/ and /dev/&lt;dataset&gt;/.  When set to
'visible' all zvol snapshots for the dataset will be visible.

This functionality was largely added because when automatic
snapshoting is enabled large numbers of read-only zvol snapshots
will be created.  When creating these devices the kernel will
attempt to read their partition tables, and blkid will attempt
to identify any filesystems on those partitions.  This leads
to a variety of issues:

1) The zvol partition tables will be read in the context of
   the `modprobe zfs` for automatically imported pools.  This
   is undesirable and should be done asynchronously, but for
   now reducing the number of visible devices helps.

2) Udev expects to be able to complete its work for a new
   block devices fairly quickly.  When many zvol devices are
   added at the same time this is no longer be true.  It can
   lead to udev timeouts and missing /dev/zvol links.

3) Simply having lots of devices in /dev/ can be aukward from
   a management standpoint.  Hidding the devices your unlikely
   to ever use helps with this.  Any snapshot device which is
   needed can be made visible by changing the snapdev property.

NOTE: This patch changes the default behavior for zvols which
      was effectively 'snapdev=visible'.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #1235
Closes #945
Issue #956
Issue #756
</content>
</entry>
<entry>
<title>Stop using /bin/ as a source in zconfig.sh</title>
<updated>2013-01-28T22:51:26Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2013-01-28T21:39:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=930b6fec210d828cb3755f8756dbbbf3001cccae'/>
<id>urn:sha1:930b6fec210d828cb3755f8756dbbbf3001cccae</id>
<content type='text'>
Test 5, 6, 7, and 7 in zconfig.sh use /bin/ as a source of random
directories and files for their test.  This has lead to unexpected
tests failures because the total size of /bin/ on the test system
isn't checked and it is entirely possible for it to be larger than
the target filesystem.

To resolve this issue we create a somewhat random collection of
files and directories in /var/tmp to use.  On average we expect
about 5MB of data with the worst case being 20MB.  This is large
enough to be interesting and small enough to always fit in the
default test datasets.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Closes #1113
</content>
</entry>
<entry>
<title>Fix zconfig.sh partitioning error</title>
<updated>2013-01-24T21:57:16Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2013-01-24T21:54:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e528c9b461df83eddc89c65d707d8674b4940314'/>
<id>urn:sha1:e528c9b461df83eddc89c65d707d8674b4940314</id>
<content type='text'>
Parted version 3.0 doesn't allow us to specify the start and end
percentages as 50% and 100% respectively.  This results in:

  Error: The location 100% is outside the device /dev/zd0

Therefore we change the syntax to 51% and -1 for end of device.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
</entry>
<entry>
<title>Fix zconfig.sh non-optimal alignment</title>
<updated>2012-02-09T21:23:28Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2012-02-09T18:38:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=93648f314c258897a0fa72b0d0b164e1937a5b63'/>
<id>urn:sha1:93648f314c258897a0fa72b0d0b164e1937a5b63</id>
<content type='text'>
The recent zvol improvements have changed default suggested alignment
for zvols from 512b (default) to 8k (zvol blocksize).  Because of this
the zconfig.sh tests which create paritions are now generating a
warning about non-optimal alignments.

This change updates the need zconfig.sh tests such that a partition
will be properly aligned.  In the process, it shifts from using the
sfdisk utility to the parted utility to create partitions.  It also
moves the creation of labels, partitions, and filesystems in to
generic functions in common.sh.in.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
</entry>
<entry>
<title>Disable 90-zfs.rules for test suite</title>
<updated>2011-10-11T21:45:37Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-10-11T21:36:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5cbf6db937a304c4d2b60878a2405a1e2900abdf'/>
<id>urn:sha1:5cbf6db937a304c4d2b60878a2405a1e2900abdf</id>
<content type='text'>
When running the zconfig.sh, zpios-sanity.sh, and zfault.sh
from the installed packages the 90-zfs.rules can cause failures.
These will occur because the test suite assumes it has full
control over loading/unloading the module stack.  If the stack
gets asynchronously loaded by the udev rule the test suite
will treat it as a failure.  Resolve the issue by disabling
the offending rule during the tests and enabling it on exit.

Signed-off-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
</content>
</entry>
<entry>
<title>Pass -f option for import</title>
<updated>2011-06-10T18:21:31Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-06-10T18:20:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=da88a7fbe8876437c25f1006f91ca5595659b8d2'/>
<id>urn:sha1:da88a7fbe8876437c25f1006f91ca5595659b8d2</id>
<content type='text'>
If a pool was not cleanly exported passing the -f flag may be required
at 'zpool import' time.  Since this test is simply validating that the
pool can be successfully imported in the absense of the cache file
always pass the -f to ensure it succeeds.  This failure was observed
under RHEL6.1.
</content>
</entry>
<entry>
<title>Update zconfig.sh to use new zvol names</title>
<updated>2011-04-19T23:33:41Z</updated>
<author>
<name>Brian Behlendorf</name>
<email>behlendorf1@llnl.gov</email>
</author>
<published>2011-04-19T23:14:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3fce1d0962dd28d094589f6d5c3f88a1db12b7cb'/>
<id>urn:sha1:3fce1d0962dd28d094589f6d5c3f88a1db12b7cb</id>
<content type='text'>
This change should have occured when we commited the new udev
rules for zvols.  Basically, the test script is just out of date.
We need to update it to use the /dev/zvol/ device names, and
to expect the more common -partN suffixes.

I added a udev_trigger() call in zconfig_partition() and
zconfig_zvol_device_stat() to ensure that all the udev rules have
run before.  This ensures the devices are available to subsequent
commands and closes a small race.

Finally, I was forced added a small 'sleep 1' to test 10.  I
was observing occassional failures in my VM due to the device
still claiming to be busy.  Delaying betwen the various methods
of adding/removing a vdev avoids the issue.

Closes #207
</content>
</entry>
</feed>
