Commit Graph

1924 Commits

Author SHA1 Message Date
Brian Behlendorf b57e406dd6 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-11-15 16:26:47 -08:00
Brian Behlendorf e57bf40c98 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-11-15 16:26:36 -08:00
Brian Behlendorf 00f3dfb5e9 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-11-15 16:26:36 -08:00
Brian Behlendorf 59cbe87375 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-11-15 16:26:31 -08:00
Brian Behlendorf 4f9acff2d8 Merge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants 2009-11-15 16:26:20 -08:00
Brian Behlendorf 217998d1a3 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit 2009-11-15 16:26:12 -08:00
Brian Behlendorf d8aef5d7bc Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-11-15 16:25:52 -08:00
Brian Behlendorf 030d49c262 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90 2009-11-15 16:25:50 -08:00
Brian Behlendorf 0aa61e8427 Remove zvol.c when updating in update-zfs.sh Linux version available. 2009-11-15 16:20:01 -08:00
Brian Behlendorf e576375b9f Merge branch 'linux-have-zpl' into refs/top-bases/linux-zfs-branch 2009-11-15 16:11:05 -08:00
Brian Behlendorf e588ef08cb Revert contents of linux-have-zpl topic branch. 2009-11-15 16:06:10 -08:00
Brian Behlendorf d876a087ff Merge branch 'linux-have-zvol' into refs/top-bases/linux-zfs-branch 2009-11-15 15:58:22 -08:00
Brian Behlendorf b38252d3ec Revert contents of linux-have-zvol topic branch. 2009-11-15 15:52:29 -08:00
Brian Behlendorf a4fb9a97f1 Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2009-11-12 12:55:54 -08:00
Brian Behlendorf e68f100aaa Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-11-12 12:55:49 -08:00
Brian Behlendorf 73fe782522 Use HAVE_BDEV_LOGICAL_BLOCK_SIZE compat marco in vdev_disk.
This is a 2.6.31 API change.
2009-11-12 12:51:16 -08:00
Brian Behlendorf 564d6273e2 Mutexs will exceed 64 bytes for debug builds in 2.6.31 kernels.
Increase the pad size accordingly to handle this.
2009-11-12 12:45:28 -08:00
Brian Behlendorf 6f111fc3e6 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-10-27 15:03:16 -07:00
Brian Behlendorf ed97b4447d Adds the last missing block device support (merge_bdev support)
This change should wrap up the last of the missing block device
support in the vdev_disk layer.  With this change I can now
successfully create and use zpools which are layered on top of
md and lvm virtual devices.  The following changes include:

1) The big one, properly handle the case when page cannot be added
to a bio due to dynamic limitation of a merge_bdev handler.  For
example the md device will limit a bio to the configured stripe
size.  Our bio size may also end up being limited by the maximum
request size, and other factors determined during bio construction.

To handle all of the above cases the code has been updated to
handle failures from bio_add_page().  This had been hardcoded to
never fail for the prototype proof of concept implementation.  In
the case of a failure the number of bytes which still need to be
added to a bio are returned.  New bio's are allocated and attached
to the dio until the entire data buffer is mapped to bios.  It is
then submitted as before to the request queue, and once all the bio's
attached to a dio have finished the completion callback is run.

2) The devid comments have been removed because it is not clear to
me that we will not need devid support.  They have been replaced
with a comment explaining that udev can and should be used.
2009-10-27 14:38:38 -07:00
Brian Behlendorf ef2618aff8 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-10-14 16:32:15 -07:00
Brian Behlendorf 18eee5d03f Fix sector size and capacity calculation.
Remove the hard coded 512 byte SECTOR_SIZE and replace it with
bdev_hardsect_size() to get the correct hardware sector size.

Usage of get_capacity() was incorrect.  We the block_device
references a partition we need to return bdev->part->nr_sects.
If get_capacity() is used the entire device size will be returned
ignoring partition information.  This is however the correct thing
to do when the block device in question has not partition table.
2009-10-14 16:02:51 -07:00
Brian Behlendorf 5b421bb734 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-10-06 12:27:51 -07:00
Brian Behlendorf 6df0b54851 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-10-06 12:27:50 -07:00
Brian Behlendorf bea5b8a0a2 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-10-06 12:27:31 -07:00
Brian Behlendorf cf1bc6baa5 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-10-06 12:27:28 -07:00
Brian Behlendorf 5bc2e9e592 Add spa_config_path module option for alternate cache file. 2009-10-06 12:17:38 -07:00
Brian Behlendorf 73ff39b18d Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2009-10-02 16:35:40 -07:00
Brian Behlendorf b5b5b23cbf Use kobject_set_name() for increased portability.
As of 2.6.25 kobj->k_name was replaced with kobj->name.  Some distros
such as RHEL5 (2.6.18) add a patch to prevent this from being a problem
but other older distros such as SLES10 (2.6.16) have not.  To avoid
the whole issue I'm updating the code to use kobject_set_name() which
does what I want and has existed all the way back to 2.6.11.
2009-10-02 16:31:23 -07:00
Brian Behlendorf 48cc6b6565 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2009-10-01 17:09:46 -07:00
Brian Behlendorf e6359e0281 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-10-01 17:08:10 -07:00
Brian Behlendorf 3c5e68488a Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-10-01 17:08:09 -07:00
Brian Behlendorf cd01e2a6c9 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-10-01 17:08:00 -07:00
Brian Behlendorf ea0bf0146f Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-10-01 17:07:58 -07:00
Brian Behlendorf 69bdec9913 Update to use spl_module_{init,exit}() macro API. 2009-10-01 16:49:12 -07:00
Brian Behlendorf 6e2c55b5a6 Update to use spl_module_{init,exit}() macro API. 2009-10-01 16:47:49 -07:00
Brian Behlendorf 159833d991 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-09-02 15:26:43 -07:00
Brian Behlendorf c39498254d Extra reference required for dio struct in __vdev_disk_physio.
Exposed by the fc11 debug kernel we need to hold a reference over all
calls to submit_bio().  Otherwise it is possible all the completion
callbacks run before we exit __vdev_disk_physio(), and we end up with
a GPF.  This was quickly exposed when slab poisoning was enabled.  I
have added helper functions to cleanly track the reference counts.  In
addition dr->dr_ref was converted from an integer to an atomic type
which removes the need for the spinlock.  As a nice side effect of
these changes the code is now slightly cleaner and clearer.
2009-09-02 15:08:40 -07:00
Brian Behlendorf 07dd64facf Merge branch 'linux-have-zpl' into refs/top-bases/linux-zfs-branch 2009-08-18 14:22:27 -07:00
Brian Behlendorf 1365576b3e Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-08-18 14:22:24 -07:00
Brian Behlendorf cd710627dd Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-08-18 14:21:47 -07:00
Brian Behlendorf 1c5a67a320 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-18 14:20:58 -07:00
Brian Behlendorf f3f51aee8c Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-08-18 14:20:46 -07:00
Brian Behlendorf 1d5a7b235b Merge branch 'linux-have-zvol' into refs/top-bases/linux-zfs-branch 2009-08-18 14:20:37 -07:00
Brian Behlendorf bc611acf53 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-08-18 14:20:35 -07:00
Brian Behlendorf d2450a3d32 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-08-18 14:20:23 -07:00
Brian Behlendorf 431189f377 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-08-18 14:20:21 -07:00
Brian Behlendorf 623479aa05 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-08-18 14:20:01 -07:00
Brian Behlendorf 5edf1e174e Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-18 14:19:58 -07:00
Brian Behlendorf ad97c53c74 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-08-18 14:19:57 -07:00
Brian Behlendorf 147adbe815 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-18 14:18:40 -07:00
Brian Behlendorf e4b55cfbff Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 14:18:36 -07:00
Brian Behlendorf 5d83878f46 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-18 14:18:34 -07:00
Brian Behlendorf ef74bed821 Merge branch 'gcc-shadow' into refs/top-bases/gcc-branch 2009-08-18 14:18:32 -07:00
Brian Behlendorf f3ddd9d082 Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-08-18 14:18:32 -07:00
Brian Behlendorf 8767bb3fdd Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-08-18 14:18:31 -07:00
Brian Behlendorf 4de2019bdd Required build 121 updates for linux-have-zvol 2009-08-18 14:11:29 -07:00
Brian Behlendorf 6d772ec7d2 Required build 121 updates for linux-have-zpl 2009-08-18 14:11:06 -07:00
Brian Behlendorf 218ddf3d52 Required build 121 updates for linux-kernel-module 2009-08-18 14:10:33 -07:00
Brian Behlendorf f9a74de46a Required build 121 updates for gcc-uninit 2009-08-18 14:09:35 -07:00
Brian Behlendorf 08f5b3c23d Required build 121 updates for gcc-shadow 2009-08-18 14:09:15 -07:00
Brian Behlendorf d42b88372f Required build 121 updates for gcc-c90 2009-08-18 14:07:25 -07:00
Brian Behlendorf 6e43f5a80b Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
Conflicts:

	module/zfs/rrwlock.c
	module/zfs/zfs_ioctl.c
2009-08-18 12:59:17 -07:00
Brian Behlendorf 543989b909 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-08-18 12:35:28 -07:00
Brian Behlendorf 5f0eb517cf Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-18 12:34:24 -07:00
Brian Behlendorf 1cf9e2582c Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-08-18 12:34:09 -07:00
Brian Behlendorf b3561355b8 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-08-18 12:33:54 -07:00
Brian Behlendorf 6a97dcc2bf Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-08-18 12:33:39 -07:00
Brian Behlendorf 7c3b0a4a2f Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-08-18 12:33:35 -07:00
Brian Behlendorf c9519311a3 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-18 12:33:10 -07:00
Brian Behlendorf 954484f75d Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
Conflicts:

	module/zfs/dsl_dataset.c
	module/zfs/spa_history.c
2009-08-18 12:32:53 -07:00
Brian Behlendorf c67303e092 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
Conflicts:

	lib/libzfs/libzfs_dataset.c
	module/zfs/dsl_dataset.c
	module/zfs/rrwlock.c
	module/zfs/spa_history.c
	module/zfs/zfs_ioctl.c
2009-08-18 12:26:09 -07:00
Brian Behlendorf 50c623ccef Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-18 12:10:55 -07:00
Brian Behlendorf f8cca2b295 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-08-18 12:09:57 -07:00
Brian Behlendorf d205b25a74 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 2009-08-18 12:09:10 -07:00
Brian Behlendorf 25ddaec292 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-08-18 12:09:07 -07:00
Brian Behlendorf b99b422796 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-18 12:08:58 -07:00
Brian Behlendorf 9d2ca4a4d4 Merge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants 2009-08-18 12:07:40 -07:00
Brian Behlendorf db89339134 Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow
Conflicts:

	module/zfs/dmu.c
2009-08-18 12:07:23 -07:00
Brian Behlendorf c5b5d32d69 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit
Conflicts:

	module/zfs/vdev_raidz.c
2009-08-18 12:06:21 -07:00
Brian Behlendorf e5e4fadc34 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
Conflicts:

	module/zfs/dmu.c
	module/zfs/dsl_deleg.c
	module/zfs/rrwlock.c
	module/zfs/vdev_raidz.c
2009-08-18 12:04:53 -07:00
Brian Behlendorf 0f80e41c89 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
Conflicts:

	module/zfs/spa_misc.c
	module/zfs/vdev_label.c
2009-08-18 11:55:36 -07:00
Brian Behlendorf 45d1cae3b8 Rebase master to b121 2009-08-18 11:43:27 -07:00
Brian Behlendorf 0803564cbe Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-08-04 15:58:39 -07:00
Brian Behlendorf ddc0a2d4fe Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-08-04 15:57:58 -07:00
Brian Behlendorf 4b1d370e4f Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-04 15:57:03 -07:00
Brian Behlendorf f73936be84 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-08-04 15:56:50 -07:00
Brian Behlendorf 1bfe0d5177 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-08-04 15:56:36 -07:00
Brian Behlendorf a089c64daa Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-08-04 15:56:23 -07:00
Brian Behlendorf f2018fdf21 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-08-04 15:56:21 -07:00
Brian Behlendorf a7a6539d95 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-04 15:55:57 -07:00
Brian Behlendorf 56204aacac Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-08-04 15:55:55 -07:00
Brian Behlendorf 72fc3eca7e Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-04 15:54:25 -07:00
Brian Behlendorf f88cbd6535 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 15:54:21 -07:00
Brian Behlendorf 8c28ed9bff Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 15:54:19 -07:00
Brian Behlendorf adcc63f658 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-08-04 15:54:17 -07:00
Brian Behlendorf 7069d048a0 Revert kthreads based on pthread thread specific data due to failure.
With this patch applied I get the following failure 100% of the time,
I'd prefer to debug it and keep moving forward but I do not have the
time right now so I'm reverting the patch to the version which worked.
Ricardo please fix.

(gdb) bt
0  ztest_dmu_write_parallel (za=0x2aaaac898960) at
../../cmd/ztest/ztest.c:2566
1  0x0000000000405a79 in ztest_thread (arg=<value optimized out>)
    at ../../cmd/ztest/ztest.c:3862
2  0x00002b2e6a7a841d in zk_thread_helper (arg=<value optimized out>)
    at ../../lib/libzpool/kernel.c:131
3  0x000000379be06367 in start_thread (arg=<value optimized out>)
    at pthread_create.c:297
4  0x000000379b2d30ad in clone () from /lib64/libc.so.6
2009-08-04 15:42:24 -07:00
Brian Behlendorf ca59cc5c82 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-08-04 14:43:29 -07:00
Brian Behlendorf 91960068e0 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-08-04 14:42:49 -07:00
Brian Behlendorf b324dc7fd5 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-04 14:41:52 -07:00
Brian Behlendorf 671a2d1ed9 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-08-04 14:41:39 -07:00