Commit Graph

20701 Commits

Author SHA1 Message Date
Brian Behlendorf e39f83ccf5 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-08-06 10:52:36 -07:00
Brian Behlendorf 9e3e35dc3f Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-08-06 10:52:35 -07:00
Brian Behlendorf 8f8d2b66aa Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2010-08-06 10:52:34 -07:00
Brian Behlendorf 86b29c0b9c Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-06 10:47:03 -07:00
Brian Behlendorf 2e982255da Merge branch 'fix-zfs_ioc_objset_stats' into refs/top-bases/fix-branch 2010-08-06 10:47:02 -07:00
Brian Behlendorf 46e9b0989d New TopGit dependency: fix-zfs_ioc_objset_stats 2010-08-06 10:46:58 -07:00
Brian Behlendorf 89f0abf9b5 Add missing zfs_ioc_objset_stats() error handling
Interestingly this looks like an upstream bug as well.  If for some
reason we are unable to get a zvols statistics, because perhaps the
zpool is hopelessly corrupt, we would trigger the VERIFY.  This
commit adds the proper error handling just to propagate the error
back to user space.  Now the user space tools still must handle this
properly but in the worst case the tool will crash or perhaps have
some missing output.  That's far far better than crashing the host.

Closes #45
2010-08-06 10:46:39 -07:00
Brian Behlendorf a87866c103 Merge branch 'linux-have-mlslabel' into refs/top-bases/linux-zfs-branch 2010-08-05 11:33:40 -07:00
Brian Behlendorf ab023a0775 Merge commit 'refs/top-bases/linux-have-mlslabel' into linux-have-mlslabel 2010-08-05 11:33:38 -07:00
Brian Behlendorf 5d3b59fde5 Merge branch 'linux-spa-thread' into refs/top-bases/linux-zfs-branch 2010-08-05 11:33:31 -07:00
Brian Behlendorf 3adca629a0 Merge commit 'refs/top-bases/linux-spa-thread' into linux-spa-thread 2010-08-05 11:33:29 -07:00
Brian Behlendorf a7614b1564 Merge branch 'linux-topology' into refs/top-bases/linux-zfs-branch 2010-08-05 11:33:22 -07:00
Brian Behlendorf 8717d24af0 Merge commit 'refs/top-bases/linux-topology' into linux-topology 2010-08-05 11:33:20 -07:00
Brian Behlendorf 6d0a1a0587 Merge branch 'linux-sha2' into refs/top-bases/linux-zfs-branch 2010-08-05 11:33:13 -07:00
Brian Behlendorf 384b10ad9c Merge commit 'refs/top-bases/linux-sha2' into linux-sha2 2010-08-05 11:33:11 -07:00
Brian Behlendorf cc334465c0 Merge branch 'linux-user-util' into refs/top-bases/linux-zfs-branch 2010-08-05 11:33:04 -07:00
Brian Behlendorf 81d059780d Merge commit 'refs/top-bases/linux-user-util' into linux-user-util 2010-08-05 11:33:02 -07:00
Brian Behlendorf c76683e86d Merge branch 'linux-events' into refs/top-bases/linux-zfs-branch 2010-08-05 11:32:54 -07:00
Brian Behlendorf 533fb679bb Merge commit 'refs/top-bases/linux-events' into linux-events 2010-08-05 11:32:52 -07:00
Brian Behlendorf cff8ce052b Merge branch 'linux-kernel-module' into refs/top-bases/linux-zfs-branch 2010-08-05 11:32:45 -07:00
Brian Behlendorf f76c751b34 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2010-08-05 11:32:44 -07:00
Brian Behlendorf 1f2d8af02a Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch 2010-08-05 11:32:36 -07:00
Brian Behlendorf 6ef06e035a Merge commit 'refs/top-bases/linux-kernel-device' into linux-kernel-device 2010-08-05 11:32:34 -07:00
Brian Behlendorf ab3d48f364 Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2010-08-05 11:32:27 -07:00
Brian Behlendorf 4ce785e0ea Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap 2010-08-05 11:32:24 -07:00
Brian Behlendorf df6b57877c Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-08-05 11:32:17 -07:00
Brian Behlendorf 1b8217755f Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-08-05 11:32:15 -07:00
Brian Behlendorf 4bbb63a35b Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch 2010-08-05 11:32:08 -07:00
Brian Behlendorf 271aa66295 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2010-08-05 11:32:06 -07:00
Brian Behlendorf fd2fcb6b05 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-05 11:31:59 -07:00
Brian Behlendorf c25c7311c1 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-08-05 11:31:57 -07:00
Brian Behlendorf 01816a0556 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2010-08-05 11:31:50 -07:00
Brian Behlendorf ad06a3ace5 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2010-08-05 11:31:48 -07:00
Brian Behlendorf b00a6deac1 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-05 11:31:41 -07:00
Brian Behlendorf 21c8b40f8e Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-08-05 11:31:39 -07:00
Brian Behlendorf bfbf05a59f Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch 2010-08-05 11:31:31 -07:00
Brian Behlendorf 06751bed08 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2010-08-05 11:31:29 -07:00
Brian Behlendorf 021207deba Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2010-08-05 11:31:23 -07:00
Brian Behlendorf 1ba44f8fc0 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2010-08-05 11:31:20 -07:00
Brian Behlendorf 830ff99e23 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-08-05 11:31:13 -07:00
Brian Behlendorf 1282a0335f Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2010-08-05 11:31:11 -07:00
Brian Behlendorf c833ae63d6 Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch 2010-08-05 11:31:03 -07:00
Brian Behlendorf 121f70f995 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-08-05 11:31:01 -07:00
Brian Behlendorf a43fffcdbf Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-08-05 11:30:54 -07:00
Brian Behlendorf 7878559435 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-08-05 11:30:52 -07:00
Brian Behlendorf f6233da863 Add cleanup option -c to zpios-sanity.sh
See commit a6644f49a5 for full
details of cleanup option.
2010-08-05 11:25:36 -07:00
Brian Behlendorf a6644f49a5 Add cleanup option -c to zconfig.sh
Several folks have now remarked that when the regression tests
fail they leave a mess behind.  This was done intentionally at
the time to facilitate debugging the wreckage.

However, this also means that you may need to do some manual
cleanup such as removing the loopback devices before re-running
the tests.  To simplify this proceedure I've added the '-c'
option to zconfig.sh which will attempt to cleanup the mess
from a previous test before starting.

This is somewhat dangerous because it must guess as to which
loopback devices you were using.  But this risk is fairly minimal
because devices which are currently still is use can not be
cleaned up.  And because only devices with 'zpool' in the name
are considered for removal.  That said if your running parallel
copies of say zconfig.sh this may cause you some trouble.
2010-08-05 11:24:04 -07:00
Brian Behlendorf 019953e0b7 Update zconfig to check partitions
Update the zconfig.sh test script to verify not only that volumes,
snapshots, and clones are created and removed properly.  But also
verify that the partition information for each of these types of
devices is properly enumerated by the kernel.

Tests 4 and 5 now also create two partitions on the original volume
and these partitions are expected to also exist on the snapshot and
the clone.  Correctness is verified after import/export, module
load/unload, dataset creation, and pool destruction.

Additionally, the code to create a partition table was refactored
in to a small helper function to simplify the test cases.  And
finally all of the function variables were flagged 'local' to ensure
their scope is limited.  This should have been done a while ago.
2010-08-05 11:22:33 -07:00
Brian Behlendorf 5222cdac37 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-08-04 16:10:44 -07:00
Brian Behlendorf f3aa3b93df Fix zvol partition creation during module load
Partitions for a zvol device were not appearing in /dev/zvol/<pool>/
at module load time for a couple of reasons.

1) The Linux block layer expects a block device to have a non-zero
   capacity during add_disk().  If the capacity is zero it does not
   attempt to open the device which means we never trigger a partition
   scan.  The device capacity was just being set during the first open.

2) Because we expect to be adding a block device to the zvol_state_list
   during zvol_create_minor() the zvol_state_lock() is held.  This
   can result in a deadlock in add_disk() when it attempts to open
   the block device via zvol_open() which also takes this same lock.
   To avoid this issue special handling has been added to zvol_open()
   and zvol_release() to allow the mutex owner to enter these functions
   without retaking the lock.

3) In __zvol_create_minor() the call to dmu_objset_disown() must occur
   before the call to add_disk().  As mentioned above add_disk() results
   in a call to zvol_open() which will attempt to call dmu_objset_own()
   again on the objset.  If the objset is already open it will fail
   resulting in a failed open.  This in turn means the kernel will be
   unable to read the partition information from the device.
2010-08-04 16:05:25 -07:00