Commit Graph

20499 Commits

Author SHA1 Message Date
Brian Behlendorf fd1a5226a9 Merge commit 'refs/top-bases/linux-have-mlslabel' into linux-have-mlslabel 2010-08-02 13:24:17 -07:00
Brian Behlendorf 5a75578b99 Merge branch 'linux-spa-thread' into refs/top-bases/linux-zfs-branch 2010-08-02 13:24:12 -07:00
Brian Behlendorf ba8f3085ca Merge commit 'refs/top-bases/linux-spa-thread' into linux-spa-thread 2010-08-02 13:24:10 -07:00
Brian Behlendorf 84db3581c3 Merge branch 'linux-topology' into refs/top-bases/linux-zfs-branch 2010-08-02 13:24:04 -07:00
Brian Behlendorf 2a15280353 Merge commit 'refs/top-bases/linux-topology' into linux-topology 2010-08-02 13:24:02 -07:00
Brian Behlendorf 83058943de Merge branch 'linux-sha2' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:57 -07:00
Brian Behlendorf dca5a535cd Merge commit 'refs/top-bases/linux-sha2' into linux-sha2 2010-08-02 13:23:55 -07:00
Brian Behlendorf 82dc97f462 Merge branch 'linux-user-util' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:49 -07:00
Brian Behlendorf 189685f2bb Merge commit 'refs/top-bases/linux-user-util' into linux-user-util 2010-08-02 13:23:47 -07:00
Brian Behlendorf ef1ea46bd4 Merge branch 'linux-events' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:42 -07:00
Brian Behlendorf 52b1e9edad Merge commit 'refs/top-bases/linux-events' into linux-events 2010-08-02 13:23:40 -07:00
Brian Behlendorf fbae8d0a92 Merge branch 'linux-kernel-module' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:34 -07:00
Brian Behlendorf 8a2017515b Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2010-08-02 13:23:32 -07:00
Brian Behlendorf ee89d487c9 Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:26 -07:00
Brian Behlendorf 02648544c7 Merge commit 'refs/top-bases/linux-kernel-device' into linux-kernel-device 2010-08-02 13:23:24 -07:00
Brian Behlendorf 19cbaae01c Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:19 -07:00
Brian Behlendorf ae2d3042ab Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap 2010-08-02 13:23:17 -07:00
Brian Behlendorf e3f24c0281 Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:12 -07:00
Brian Behlendorf a1fd05c6a5 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-08-02 13:23:09 -07:00
Brian Behlendorf 999337606c Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:04 -07:00
Brian Behlendorf 0de1c4f4ce Merge commit 'refs/top-bases/linux-unused' into linux-unused 2010-08-02 13:23:02 -07:00
Brian Behlendorf caa1caa4a0 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:56 -07:00
Brian Behlendorf 494a650cbb Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-08-02 13:22:55 -07:00
Brian Behlendorf 939778e799 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:49 -07:00
Brian Behlendorf c53e5d229c Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2010-08-02 13:22:47 -07:00
Brian Behlendorf 24743e1ee8 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:41 -07:00
Brian Behlendorf 590bd1dd2f Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-08-02 13:22:39 -07:00
Brian Behlendorf 0578f16042 Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:33 -07:00
Brian Behlendorf 4909386ed9 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2010-08-02 13:22:31 -07:00
Brian Behlendorf 5b17c2bcee Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:24 -07:00
Brian Behlendorf 73759365d7 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2010-08-02 13:22:22 -07:00
Brian Behlendorf db72cd9ba6 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:15 -07:00
Brian Behlendorf 1f3c757320 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2010-08-02 13:22:13 -07:00
Brian Behlendorf c736f16e18 Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:06 -07:00
Brian Behlendorf f983481a3f Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-08-02 13:22:04 -07:00
Brian Behlendorf 37e5e668d6 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-08-02 13:21:57 -07:00
Brian Behlendorf cf10cb3419 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-08-02 13:21:54 -07:00
Brian Behlendorf 0fee5e7ac8 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-08-02 13:21:53 -07:00
Brian Behlendorf 7b8a233029 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2010-08-02 13:21:52 -07:00
Brian Behlendorf bb064e0220 Merge branch 'fix-taskq' into refs/top-bases/fix-branch 2010-08-02 13:21:51 -07:00
Brian Behlendorf c90ad869ca Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-02 13:21:51 -07:00
Brian Behlendorf 5545adeadf Use sparse files for loopback+file configurations
Using sparse files for the test configurations had atleast three
significant advantages.

1) Actually test sparse files to ensure they work.
2) Drastically reduce required disk space for the regression test
   suite.  This turns out to be fairly important when running the
   test suite in a virtualized environment.
3) Significantly speed of the test suite.  Run time of zconfig.sh
   dropped from 2m:56s to 1m:00s on my test system, zpios-sanity.sh
   nows runs in only 0m:26s.
2010-08-02 13:16:41 -07:00
Brian Behlendorf 858985a46e Update zconfig.sh
This change updates zconfig.sh to reference /dev/zvol/ instead
of simply /dev/.  It also extends the texts to verify correct
minor device creation for import/export and module load/unload.
2010-08-02 13:15:00 -07:00
Ricardo M. Correia 4ca4dfe9bb Fix taskq_dispatch() call in zio_taskq_dispatch().
The feature branch 'fix-taskq' in Linux's ZFS tree changes the taskq_dispatch()
flag from TQ_SLEEP to TQ_NOSLEEP to avoid sleeping in some circumstances.

However, this has the side effect that taskq_dispatch() now may fail, and since
the return code was not even being checked, it could lead to zio's not being
scheduled to execute.

I'm fixing this in a simplistic but not very elegant way, by just looping until
taskq_dispatch() succeeds.

Signed-off-by: Ricardo M. Correia <ricardo.correia@oracle.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 13:12:54 -07:00
Brian Behlendorf b39593040c Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 12:54:57 -07:00
Brian Behlendorf f58729aa42 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 12:54:55 -07:00
Brian Behlendorf dd9a55895a Revert zconfig.sh test 4
This test was accidentally readded to the linux-kernel-disk
topic branch.  It is being reverted so it can be reapplied with
a few minor tweaks in the right place.
2010-08-02 11:53:38 -07:00
Brian Behlendorf 7195d18e6a Reduce stack using in ZVOL
The dmu_object_info_t structures which are roughly 60 bytes
have been moved from the stack to the heap.  Every little
bit helps and there's absolutely no reason these temporary
working variables need to be on the stack.
2010-08-02 11:51:21 -07:00
Brian Behlendorf 88b37fbe57 Fix zvol_init() lock inversion
During module load we could deadlock because the zvol_init()
callpath took the spa_namespace_lock before the zvol_state_lock.
The rest of the zvol code takes the locks in the opposite order.
In particular, I observed the following deadlock cause by the
lock inversion.

I've fixed the ording by creating an unlocked version of
zvol_create_minor and zvol_remove_minor.  This allows me to
take the zvol_state_lock before the spa_namespace_lock in
zvol_cr_minors_common and simply call the unlocked version.
2010-08-02 11:50:04 -07:00
Brian Behlendorf f162433deb Minor device creation/removal (Kernel)
With the update to onnv_141 how minor devices were created and
removed for ZVOL was substantially changed.  The updated system
is much more tightly integrated with Solaris's /dev/ filesystem.
This is great for Solaris but bad for Linux.

On the kernel side the ZFS_IOC_{CREATE,REMOVE}_MINOR ioctl
entry points have been re-added.  They now call directly in
to the ZVOL to create the needed minor node and add the sysfs
entried for udev.

Also as part of this change I've decided it would really be
best if all the zvols were in a /dev/zvol directory like on
Solaris.  Organizationally this makes sense and on the code
side it allows us to know a block device is a zvol simply by
where it is located in /dev/.  Unless Solaris there still is
to ./dsk or ./rdsk as part of the path.
2010-08-02 11:49:08 -07:00