Commit Graph

2706 Commits

Author SHA1 Message Date
Brian Behlendorf ba7ccf8ccd Cast to unsigned long long for 32-bit arches 2009-12-11 11:41:04 -08:00
Brian Behlendorf 45a5551a0e Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch
Conflicts:

	module/zfs/zfs_ioctl.c
2009-11-20 12:11:23 -08:00
Brian Behlendorf fb1b00e9f4 Linux ZVOL implementation; kernel-side changes
At last a useful user space interface for the Linux ZFS port arrives.
With the addition of the ZVOL real ZFS based block devices are available
and can be compared head to head with Linux's MD and LVM block drivers.
The Linux ZVOL has not yet had any performance work done but from a user
perspective it should be functionally complete and behave like any other
Linux block device.

The ZVOL has so far been tested using zconfig.sh on the following x86_64
based platforms: FC11, CHAOS4, RHEL5, RHEL6, and SLES11.  However, more
testing is required to ensure everything is working as designed.

What follows in a somewhat detailed list of changes includes in this
commit to make ZVOL's possible.  A few other issues were addressed in
the context of these changes which will also be mentioned.

* Added module/zfs/zvol.c which is based off the original Solaris ZVOL
implementation but rewritten to intergrate with the Linux block device
APIs.  The basic design remains the similar in Linux with the major
change being request processing.  Request processing is handled by
registering a request function which the elevator calls once all request
merges is finished and the elevator unplugs.  This function is called
under a spin lock and the request structure is passed to the block driver
to be queued for IO.  The elevator must be notified asyncronously once
the request completes or fails with an error.  This allows us the block
driver a chance to handle many request concurrently.  For the ZVOL we
maintain a taskq with a service thread per core.  As requests are delivered
by the elevator each request is dispatched to the taskq.  The task queue
handles each request with a write or read helper function which basically
copies the request data in to our out of the DMU object.  Writes single
completion as soon as the DMU has the data unless they are marked sync.
Reads are all handled syncronously however the elevator will merge many
small reads in to a large read before it submitting the request.

* Cachine is worth specifically mentioning.  Because both the Linux VFS
and the ZFS ARC both want to fully manage the cache we unfortunately
end up with two caches.  This means our memory foot print is larger
than otherwise expected, and it means we have an extra copy between
the caches, but it does not impact correctness.  All syncs are barrior
requests I believe are handled correctly.  Longer term there is lots of
room for improvement here but it will require fairly extensive changes
to either the Linux VFS and VM layer, or additional DMU interfaces to
handle managing buffer not directly allocated by the ARC.

* Added module/zfs/include/sys/blkdev.h which contains all the Linux
compatibility foo which is required to handle changes in the Linux block
APIs from 2.6.18 thru 2.6.31 based kernels.

* The dmu_{read,write}_uio interfaces which don't make sense on Linux
have been modified to dmu_{read,write}_req functions which consume the
standard Linux IO request structure.  Their function fundamentally
remains the same so this happily worked out pretty cleanly.

* The /dev/zfs character device is no longer created through the half
implemented Solaris driver DDI interfaces.  It is now simply created
with it's own major number as a Linux misc device which greatly simplifies
everything.  It is only capable of handling ioctls() but this fits nicely
because that's all it ever has to do.  The ZVOL devices unlike in Solaris
do not leverage the same major number as /dev/zfs but instead register
their own major.  Because only one major is allocated and space is reserved
for 16 partitions per-device there is a limit of 16384 concurrent ZVOL
devices.  By using multiple majors like the scsi driver this limit could
be addressed if it becomes a problem.

* The {spa,zfs,zvol}_busy() functions have all be removed because they
are not required on a Linux system.  Under Linux the registered module
exit function will not be called while the are still references to the
module.  Once the exit function is called however it must succeed or
block, it may not fail so returning an error on module unload makes to
sense under Linux.

* With the addition of ZVOL support all the HAVE_ZVOL defines were removed
for obvious reasons.  However, the HAVE_ZPL defines have been relocated
in to the linux-{kernel,user}-disk topic branches and must remain until
the ZPL is implemented.
2009-11-20 11:06:59 -08:00
Brian Behlendorf 6376951ac9 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-11-20 10:58:52 -08:00
Brian Behlendorf 67154a81b9 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-11-20 10:58:51 -08:00
Brian Behlendorf bc20ccb15c Revert just zfs_ioctl.c changes moved to linux-kernel-disk branch. 2009-11-20 10:55:19 -08:00
Brian Behlendorf a40a4803a8 Merge branch 'linux-have-uio-rw' into refs/top-bases/linux-zfs-branch 2009-11-20 10:39:42 -08:00
Brian Behlendorf 6936334ac1 Revert linux-have-uio-rw branch, moved to linux-kernel-disk branch. 2009-11-20 10:35:26 -08:00
Brian Behlendorf 0fa82994c4 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-11-20 10:31:30 -08:00
Brian Behlendorf fa92669c86 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-11-20 10:30:58 -08:00
Brian Behlendorf 49fdb13bc8 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-11-20 10:30:50 -08:00
Brian Behlendorf 29dd6c3161 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-11-20 10:30:42 -08:00
Brian Behlendorf 7da32c3c8e Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-11-20 10:30:41 -08:00
Brian Behlendorf 4edabd1904 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-11-20 10:30:30 -08:00
Brian Behlendorf d40808c351 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-11-20 10:30:28 -08:00
Brian Behlendorf 07cdadc1f8 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-11-20 10:30:27 -08:00
Brian Behlendorf 6e3ed3f781 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-11-20 10:30:15 -08:00
Brian Behlendorf 2fb4c69f17 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-11-20 10:29:58 -08:00
Brian Behlendorf 6d8a17ed45 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-11-20 10:29:52 -08:00
Brian Behlendorf cac1bc41dc Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-11-20 10:29:49 -08:00
Brian Behlendorf 77c347db31 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-11-20 10:29:48 -08:00
Brian Behlendorf 0f315a58bb Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-11-20 10:29:47 -08:00
Brian Behlendorf 0160d32326 Symbol spa_busy() not required in Linux port removing EXPORT_SYMBOL 2009-11-20 10:16:37 -08:00
Brian Behlendorf 3191b962f6 Prevent gcc uninit compiler warning in zfs_range_unlock_reader(). 2009-11-20 09:59:58 -08:00
Brian Behlendorf 911692fabb Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-11-15 16:28:51 -08:00
Brian Behlendorf 5fac7f55be Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-11-15 16:28:16 -08:00
Brian Behlendorf 50e6c144e6 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-11-15 16:28:08 -08:00
Brian Behlendorf 52f859a6cc Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-11-15 16:27:59 -08:00
Brian Behlendorf af5810b03a Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-11-15 16:27:59 -08:00
Brian Behlendorf c03a7d863c Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-11-15 16:27:44 -08:00
Brian Behlendorf b6c57fe77e Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-11-15 16:27:44 -08:00
Brian Behlendorf dfcbd0caea Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-11-15 16:27:29 -08:00
Brian Behlendorf 826e82eff2 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-11-15 16:27:12 -08:00
Brian Behlendorf 1b5b05c1c3 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-11-15 16:27:05 -08:00
Brian Behlendorf d00a0ea8a0 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-11-15 16:27:02 -08:00
Brian Behlendorf 71ccaccb2b Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2009-11-15 16:27:00 -08:00
Brian Behlendorf 475e214ce1 Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2009-11-15 16:27:00 -08:00
Brian Behlendorf 65f6d4b712 Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2009-11-15 16:26:58 -08:00
Brian Behlendorf 8c5797df77 Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2009-11-15 16:26:58 -08:00
Brian Behlendorf e530326e8f Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-11-15 16:26:48 -08:00
Brian Behlendorf b57e406dd6 Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-11-15 16:26:47 -08:00
Brian Behlendorf 8d0c0b0782 Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-11-15 16:26:39 -08:00
Brian Behlendorf dcd4d95764 Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-11-15 16:26:37 -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 e57bf40c98 Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch 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 ed1f75364a Merge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces 2009-11-15 16:26:26 -08:00
Brian Behlendorf 123728d9ae Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas 2009-11-15 16:26:23 -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 b5e7e8a1de Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow 2009-11-15 16:26:17 -08:00
Brian Behlendorf 26844cb8e1 Merge commit 'refs/top-bases/gcc-unused' into gcc-unused 2009-11-15 16:26:14 -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 ecdec2a90d Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis 2009-11-15 16:26:08 -08:00
Brian Behlendorf 56d2a97b3b Merge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case 2009-11-15 16:26:05 -08:00
Brian Behlendorf 109d34244d Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype 2009-11-15 16:26:02 -08:00
Brian Behlendorf 9d03c28169 Merge commit 'refs/top-bases/gcc-cast' into gcc-cast 2009-11-15 16:25:53 -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 ca2e28b8eb Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-18 14:19:37 -07:00
Brian Behlendorf 90f5488896 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-08-18 14:18:49 -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 715534d082 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-18 12:30:20 -07:00
Brian Behlendorf d5cfd05528 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-08-18 12:29:16 -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 8aab887b7c Merge commit 'refs/top-bases/feature-pthreads' into feature-pthreads 2009-08-18 12:10:47 -07:00
Brian Behlendorf 5a81224e6f Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2009-08-18 12:10:43 -07:00
Brian Behlendorf bfbac5daec Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch 2009-08-18 12:10:38 -07:00
Brian Behlendorf 4f6bbcd0e7 Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2009-08-18 12:10:36 -07:00
Brian Behlendorf e20ba40c91 Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-08-18 12:10:02 -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 e7c05295ca Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-08-18 12:09:26 -07:00
Brian Behlendorf b330ab77df Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-08-18 12:09:14 -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 41b297a27f Merge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces 2009-08-18 12:08:46 -07:00
Brian Behlendorf abd8fdb94f Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas
Conflicts:

	module/zfs/dsl_deleg.c
	module/zfs/rrwlock.c
2009-08-18 12:08:36 -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 3a37442dc7 Merge commit 'refs/top-bases/gcc-unused' into gcc-unused 2009-08-18 12:06:53 -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 481225606c Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis 2009-08-18 12:05:39 -07:00
Brian Behlendorf e95fcbffd9 Merge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case 2009-08-18 12:05:33 -07:00
Brian Behlendorf 38cc41b5fe Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype 2009-08-18 12:05:26 -07:00
Brian Behlendorf 9e903015fd Merge commit 'refs/top-bases/gcc-cast' into gcc-cast 2009-08-18 12:05:07 -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 c3c87bf545 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-04 15:55:34 -07:00
Brian Behlendorf 74f5a110b7 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-08-04 15:54:35 -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
Brian Behlendorf d160703a9c Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-08-04 14:41:26 -07:00
Brian Behlendorf a58b4008c5 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-08-04 14:41:12 -07:00
Brian Behlendorf 2665b9a863 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-08-04 14:41:11 -07:00
Brian Behlendorf 37f263f244 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-04 14:40:50 -07:00
Brian Behlendorf ed3e845798 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-08-04 14:40:48 -07:00
Brian Behlendorf aa980b56d3 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-04 14:40:21 -07:00
Brian Behlendorf 83a34ce138 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-08-04 14:39:22 -07:00
Brian Behlendorf 139ca4655e Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-04 14:39:11 -07:00
Brian Behlendorf 3e5388907b Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-04 14:39:07 -07:00
Brian Behlendorf 9aedfd95f6 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-08-04 14:39:06 -07:00
Brian Behlendorf 0741d789d2 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-08-04 14:39:04 -07:00
Ricardo M. Correia c0ce3b40f2 Reimplement user kthreads based on pthread thread specific data.
This resolves previous scalabily concerns about the cost of calling
curthread which previously required a list walk.  The kthread address
is now tracked as thread specific data which can be quickly returned.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2009-08-04 13:55:15 -07:00
Brian Behlendorf a7f134832b Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-08-04 10:49:22 -07:00
Brian Behlendorf 9be5ad2924 Flag ZIO_FLAG_SPECULATIVE now issues READ instead of READA.
There is concern that READA may do more than simply reorder the queue.
There may be an increased chance that a requested marked READA will
fail because the elevator considers it optional.  For this reason, all
read requests, even speculative ones, have been converted back to READ.
2009-08-04 10:37:40 -07:00
Brian Behlendorf eeb222ffbc Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-08-03 16:32:23 -07:00
Brian Behlendorf 6dc3d8c112 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-08-03 16:31:47 -07:00
Brian Behlendorf 91229e6ba6 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-08-03 16:30:56 -07:00
Brian Behlendorf 7c2850b819 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-08-03 16:30:46 -07:00
Brian Behlendorf 51e3e70e1b Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-08-03 16:30:36 -07:00
Brian Behlendorf 22f4ee3398 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-08-03 16:30:21 -07:00
Brian Behlendorf b8e8d02bf9 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-08-03 16:30:20 -07:00
Brian Behlendorf 422a321a15 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-08-03 16:30:04 -07:00
Brian Behlendorf 102ab49042 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-08-03 16:30:03 -07:00
Brian Behlendorf 19ab040309 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-08-03 16:29:46 -07:00
Brian Behlendorf 315c2f8d74 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-08-03 16:29:00 -07:00
Brian Behlendorf f2588bb208 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2009-08-03 16:28:52 -07:00
Brian Behlendorf 48cbfae8bd Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-08-03 16:28:49 -07:00
Brian Behlendorf f2f52087f3 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-08-03 16:28:48 -07:00
Brian Behlendorf 6cb98ae6b9 Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-08-03 16:28:46 -07:00
Brian Behlendorf 68a80a8b87 refcount_add() mistakenly moved to ASSERT() breaks --disable-debug builds. 2009-08-03 16:20:27 -07:00
Brian Behlendorf 14b56711dd Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-30 10:08:10 -07:00
Brian Behlendorf e6e403381d Revert remaining unneeded change so the topic branch can be removed. 2009-07-30 09:59:31 -07:00
Brian Behlendorf dbee607bbd Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-29 21:31:26 -07:00
Brian Behlendorf a30f6a4b73 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-29 21:30:48 -07:00
Brian Behlendorf 0c78bb26e7 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-29 21:29:53 -07:00
Brian Behlendorf 6c00d99d48 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-29 21:29:41 -07:00
Brian Behlendorf 9cdb618921 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-29 21:29:28 -07:00
Brian Behlendorf 833c4d1d74 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-29 21:29:16 -07:00
Brian Behlendorf db9f4d423b Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-29 21:29:15 -07:00
Brian Behlendorf 7abfa06507 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-29 21:28:55 -07:00
Brian Behlendorf 4f6e1daa09 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-29 21:28:53 -07:00
Brian Behlendorf d844ecb1cf Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-29 21:28:31 -07:00
Brian Behlendorf 188e448793 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-29 21:27:40 -07:00
Brian Behlendorf 640e02d051 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-29 21:27:17 -07:00
Brian Behlendorf 0d5745b290 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-29 21:27:14 -07:00
Brian Behlendorf 2d86fb2788 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-29 21:27:13 -07:00
Brian Behlendorf 3185bb677e Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-07-29 21:27:12 -07:00
Brian Behlendorf 653cd5153a Merge branch 'fix-stack' into refs/top-bases/fix-branch 2009-07-29 21:27:10 -07:00
Brian Behlendorf ee435f260c Excessively large stack frames detected.
The 2.6.30 kernel build systems sets -Wframe-larger-than=2048 which causes
a warning to be generated when an individual stack frame exceeds 2048.
This caught the spa_history_log() and dmu_objset_snapshot() functions
which declared a data structure on the stack which contained a char
array of MAXPATHLEN.  This in defined to be 4096 in the linux kernel
and I imagine it is quite large under Solaris as well.  Regardless, the
offending data structures were moved to the heap to correctly keep the
stack depth to a minimum.  We might consider setting this value even
lower to catch additional offenders because we are expecting deep stacks.
2009-07-29 21:18:48 -07:00
Brian Behlendorf 2b54211968 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-07-29 17:51:33 -07:00
Brian Behlendorf 4014bd401f Major vdev_disk feature and API (thru 2.6.30) update.
Tested under CHAOS4.2, RHEL5, SLES11, and FC11 (all x86_64)

Features:
Honor spa_mode() when opening the block device.  Previously this
was ignored and devices were always opened read/write.

Integrated DKIOCFLUSHWRITECACHE zio operation with linux WRITE_BARRIER
for kernels post 2.6.24 where empty bio requests are supported.  For
earlier kernels ENOTSUP is returned and no barriers are performed.  If
RHEL5 based kernels are intended to be supported long term we may need
make use of the old akward API.

With the addition of WRITE_BARRIER support all writes which were
WRITE_SYNC can now be safely made WRITE bios.  They will now take
advantage of aggregation in the elevator and improved write performance
is likely.

Notice the ZIO_FLAG_SPECULATIVE flag and pass along the hint to the
elevator by using READA instead of READ.  This provides the elevator
the ability to prioritize the real READs ahead of the speculative IO
if needed.

Implement an initial version of vdev_disk_io_done() which in the case
of an EIO error triggers a media change check.  If it determines a
media change has occured we fail the device and remove it from the
config.  This logic I'm sure can be improved further but for now it
is an improvement over the VERIFY() that no error will ever happen.

APIs:
2.6.22 API change
Unused destroy_dirty_buffers arg removed from prototype.

2.6.24 API change
Empty write barriers are now supported and we should use them.

2.6.24 API change
Size argument dropped from bio_endio and bi_end_io, because the
bi_end_io is only called once now when the request is complete.
There is no longer any need for a size argument.  This also means
that partial IO's are no longer possibe and the end_io callback
should not check bi->bi_size.  Finally, the return type was updated
to void.

2.6.28 API change
open/close_bdev_excl() renamed to open/close_bdev_exclusive().

2.6.29 API change
BIO_RW_SYNC renamed to BIO_RW_SYNCIO.
2009-07-29 17:24:08 -07:00
Brian Behlendorf 0de6354acc Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-07-24 15:32:03 -07:00
Brian Behlendorf 1fc5fb504c BIO_RW_FAILFAST replaced with BIO_RW_FAILFAST_{DEV|_TRANSPORT|_DRIVER}
Use the legacy BIO_RW_FAILFAST flag if it exists.  If it is missing it
means we are running against a kernel with the newer API.  We should
be able to enable some fairly smart behavior one we intergrate with the
new API, but until I get around to writing that code just remove the
flag entirely.  It's not critical for correctness.
2009-07-24 15:16:13 -07:00
Brian Behlendorf 67d31d626f The bi_end_io API changes make partial IO's impossible
Kernel commit 6712ecf8f648118c3363c142196418f89a510b90 which removes the
size argument from bio_endio and bi_end_io, also removes the need to
handle partial IOs in the handler.
2009-07-24 15:08:09 -07:00
Brian Behlendorf e63baa3490 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2009-07-21 11:36:33 -07:00
Brian Behlendorf 41c17d43e3 Update to spl device interfaces for portability.
- Linux specific character device registration calls replaced with
  the spl version for maximum portability between linux kernels.
- Added ZPIOS_NAME macro.
2009-07-21 11:26:53 -07:00
Brian Behlendorf 6af0c921a6 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2009-07-21 10:35:24 -07:00
Brian Behlendorf 43ad6bb2ad Register compat ioctl handlers for zpios + 32-bit safe timespec.
A compat ioctl handler for zpios was added which simply passes the
ioctl on to the usual handler.  The IOWR macro's correctly handle
this.  Additionally replace the use of 'struct timespec' which uses
longs internally and is therefore different sizes on 32-bit vs 64-bit
objects with 'struct zpios_timespec_t'.  This custom structure uses
uint32_t types internally and is safe to pass through an ioctl.  The
helper functions for this new type were also moved to a common place
so they may be used safely by the user or kernel code.
2009-07-21 10:22:47 -07:00
Brian Behlendorf 3b65f6fab8 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-14 14:39:38 -07:00
Brian Behlendorf 24f65b670e Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-14 14:38:54 -07:00
Brian Behlendorf a53cbbfb0e Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-14 14:37:55 -07:00
Brian Behlendorf 9ac0bce002 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-14 14:37:35 -07:00
Brian Behlendorf 477c7a7281 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-14 14:37:21 -07:00
Brian Behlendorf 998d11b698 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-14 14:37:05 -07:00
Brian Behlendorf 438a7e63e9 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-14 14:37:03 -07:00
Brian Behlendorf 3574c3ff42 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-14 14:36:38 -07:00
Brian Behlendorf 4727a58497 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-14 14:36:36 -07:00
Brian Behlendorf bdb57d428a Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-14 14:36:11 -07:00
Brian Behlendorf 3e3d9c9139 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-14 14:35:13 -07:00
Brian Behlendorf 8121895a61 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-14 14:34:44 -07:00
Brian Behlendorf 1abe2b0b12 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-14 14:34:40 -07:00
Brian Behlendorf fef9a2c571 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-14 14:34:39 -07:00
Brian Behlendorf 9b9f17a585 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-07-14 14:34:37 -07:00
Brian Behlendorf 605a501311 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-07-14 14:34:35 -07:00
Brian Behlendorf 864e44e7e0 Provide correct kthread API semantics using pthreads.
The intent here is to fully remove the previous Solaris thread
implementation so we don't need to simulate both Solaris kernel
and user space thread APIs.  The few user space consumers of the
thread API have been updated to use the kthread API.  In order
to support this we needed to more fully support the kthread API
and that means not doing crazy things like casting a thread id
to a pointer and using that as was done before.  This first
implementation is not effecient but it does provide all the
corrent semantics.  If/when performance becomes and issue we
can and should just natively adopt pthreads which is portable.

Let me finish by saying I'm not proud of any of this and I would
love to see it improved.  However, this slow implementation does
at least provide all the correct kthread API semantics whereas
the previous method of casting the thread ID to a pointer was
dodgy at best.
2009-07-14 14:16:26 -07:00
Brian Behlendorf 62806e60d6 Merge branch 'linux-have-uio-rw' into refs/top-bases/linux-zfs-branch 2009-07-10 11:51:14 -07:00
Brian Behlendorf 91fcf9d661 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-10 11:51:11 -07:00
Brian Behlendorf 9ffbe8f428 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-10 11:51:09 -07:00
Brian Behlendorf d3cb195b31 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-07-10 11:50:50 -07:00
Brian Behlendorf b46157da8c Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-10 11:50:46 -07:00
Brian Behlendorf 8a5b47ebb5 Add dmu_write_impl() prototype needed by zpios until a clean
zerocopy interface is available.
2009-07-10 11:39:37 -07:00
Brian Behlendorf 8bb9b8305a Export new quota related symbols. 2009-07-10 11:38:53 -07:00
Brian Behlendorf 33eec3513e Merge branch 'linux-have-zpl' into refs/top-bases/linux-zfs-branch 2009-07-10 10:55:07 -07:00
Brian Behlendorf 452ebd84b7 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-10 10:55:04 -07:00
Brian Behlendorf 0d4deb4760 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-10 10:54:18 -07:00
Brian Behlendorf d97f750686 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-10 10:53:18 -07:00
Brian Behlendorf bb9e6cc882 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-10 10:53:05 -07:00
Brian Behlendorf f1ec04e192 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-10 10:52:50 -07:00
Brian Behlendorf 925fa57107 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-10 10:52:37 -07:00
Brian Behlendorf df59544928 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-10 10:52:36 -07:00
Brian Behlendorf e5d6b866f7 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-10 10:52:13 -07:00
Brian Behlendorf ca2e8a0a7f Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-10 10:52:11 -07:00
Brian Behlendorf 5599d09395 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-10 10:51:41 -07:00
Brian Behlendorf da907f8c39 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-10 10:50:45 -07:00
Brian Behlendorf 37e6d3e769 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-10 10:50:18 -07:00
Brian Behlendorf b4a5983ebf Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-10 10:50:15 -07:00
Brian Behlendorf 4baa59ce44 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-10 10:50:13 -07:00
Brian Behlendorf cfec48619c Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-10 10:50:12 -07:00
Brian Behlendorf 84b52133f3 Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-07-10 10:50:10 -07:00
Brian Behlendorf f3c55459b0 Pull ; in to macro to ensure it get's entirely removed, C90 issue. 2009-07-10 10:40:55 -07:00
Brian Behlendorf ec3045dcf2 Refine HAVE_ZPL checks after b117 update. 2009-07-10 10:39:44 -07:00
Brian Behlendorf 0c390c6de4 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-09 15:12:29 -07:00
Brian Behlendorf 0539df32a1 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-09 15:11:47 -07:00
Brian Behlendorf f652333485 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-09 15:10:53 -07:00
Brian Behlendorf 9056388e75 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-09 15:10:39 -07:00
Brian Behlendorf f9111d6e11 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-09 15:10:26 -07:00
Brian Behlendorf bfcab44eb7 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-09 15:10:14 -07:00
Brian Behlendorf 2ec527b793 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-09 15:10:12 -07:00
Brian Behlendorf ac47fd1d1f Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-09 15:09:51 -07:00
Brian Behlendorf f8938a398f Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-09 15:09:50 -07:00
Brian Behlendorf d0e81ab7f1 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-09 15:09:26 -07:00
Brian Behlendorf 195c942213 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-09 15:08:34 -07:00
Brian Behlendorf 791241dfb0 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-09 15:08:11 -07:00
Brian Behlendorf 7211f81057 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-09 15:08:07 -07:00
Brian Behlendorf 24662d61d9 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 15:08:06 -07:00
Brian Behlendorf 2f4e745a09 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 15:08:04 -07:00
Brian Behlendorf bed14af385 Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch 2009-07-09 15:08:03 -07:00
Brian Behlendorf ae132945b4 Add suggested paranthesis. 2009-07-09 14:59:10 -07:00
Brian Behlendorf f13edd3084 Merge branch 'linux-have-zpl' into refs/top-bases/linux-zfs-branch 2009-07-09 14:20:38 -07:00
Brian Behlendorf 8a849a66fe Wrap all the ACL interfaces for now with HAVE_ZPL. They are integrated
with the vfs layer which is not at all supported yet.
2009-07-09 14:11:13 -07:00
Brian Behlendorf 99880c2dc1 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-09 13:22:09 -07:00
Brian Behlendorf a3a9c56aa1 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-09 13:21:25 -07:00
Brian Behlendorf b11df77db9 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-09 13:20:27 -07:00
Brian Behlendorf 8fba9a5957 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-09 13:20:09 -07:00
Brian Behlendorf 8129849f84 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-09 13:19:55 -07:00
Brian Behlendorf f99ad7f4c3 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-09 13:19:41 -07:00
Brian Behlendorf ebb013f2dd Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-09 13:19:39 -07:00
Brian Behlendorf 176ce8248a Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-09 13:19:17 -07:00
Brian Behlendorf db193d4ca9 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-09 13:19:15 -07:00
Brian Behlendorf c9d25cdf92 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-09 13:18:52 -07:00
Brian Behlendorf 029949d7c2 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-09 13:17:56 -07:00
Brian Behlendorf 5b606597a8 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-09 13:17:32 -07:00
Brian Behlendorf 617385b6f2 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-09 13:17:28 -07:00
Brian Behlendorf 17d368fa5f Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 13:17:27 -07:00
Brian Behlendorf a3bc97c2c3 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 13:17:26 -07:00
Brian Behlendorf 9ad0fef49e Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch
Conflicts:

	module/nvpair/nvpair.c
2009-07-09 13:08:30 -07:00
Brian Behlendorf 683b2f0d00 TopGit missed this update when I updated the same line in the
gcc-unused and gcc-uninit topic branches at the same time and
then ran 'tg update'.  I'll need to keep that sort of thing
in mind when updating multiple topic branches between updates.
2009-07-09 13:07:05 -07:00
Brian Behlendorf e05c1f7986 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-09 12:28:29 -07:00
Brian Behlendorf af0e394f1e Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-09 12:27:45 -07:00
Brian Behlendorf a88f5d6ce7 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-09 12:26:43 -07:00
Brian Behlendorf b759d9db89 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-09 12:26:29 -07:00
Brian Behlendorf 5fb58ec621 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-09 12:26:14 -07:00
Brian Behlendorf 7f3ee7a5ef Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-09 12:26:00 -07:00
Brian Behlendorf e945770943 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-09 12:25:58 -07:00
Brian Behlendorf 8551a101ea Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-09 12:25:34 -07:00
Brian Behlendorf 0c3f631b72 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-09 12:25:32 -07:00
Brian Behlendorf e7d3dad2b8 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-09 12:25:09 -07:00
Brian Behlendorf 8c3ccc7099 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-09 12:24:12 -07:00
Brian Behlendorf 999f693b85 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-09 12:23:46 -07:00
Brian Behlendorf 1708d28097 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-09 12:23:43 -07:00
Brian Behlendorf c4c4afd8fd Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 12:23:41 -07:00
Brian Behlendorf 6db8882b78 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 12:23:39 -07:00
Brian Behlendorf 76bf02aebb Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-07-09 12:23:36 -07:00
Brian Behlendorf a551134b2f Unitialized variables should be handled in the gcc-uninit topic branch. 2009-07-09 12:14:56 -07:00
Brian Behlendorf a19906fe65 Unitialized variables should be handled in the gcc-uninit topic branch. 2009-07-09 12:13:56 -07:00
Brian Behlendorf f1d99c0653 Revert to original debugging code and wrap any variabled used only
within an ASSERT with the ASSERTV macro which will ensure it will
be removed when the ASSERTs are commented out.  This makes gcc much
happier, makes the variables usage explicit, and removes the need
for the compiler to detect it is unused and do the right thing.
2009-07-09 12:10:52 -07:00
Brian Behlendorf 2ed7001286 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-09 10:44:11 -07:00
Brian Behlendorf 38d7e6d061 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-09 10:43:29 -07:00
Brian Behlendorf 5e10258e65 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-09 10:42:35 -07:00
Brian Behlendorf 2d4fa0b507 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-07-09 10:42:25 -07:00
Brian Behlendorf e91a439720 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-09 10:42:21 -07:00
Brian Behlendorf 7120b27f27 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-09 10:42:09 -07:00
Brian Behlendorf 2018d0e610 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-09 10:41:54 -07:00
Brian Behlendorf 7a724b1db0 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-09 10:41:53 -07:00
Brian Behlendorf 19e8f65be3 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-09 10:41:31 -07:00
Brian Behlendorf 64e827d295 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-09 10:41:30 -07:00
Brian Behlendorf 8dd6ba6098 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-09 10:41:06 -07:00
Brian Behlendorf d8a401bacb Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-09 10:40:13 -07:00
Brian Behlendorf 149eea21db Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-09 10:39:49 -07:00
Brian Behlendorf a8d32ac1e2 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-09 10:39:46 -07:00
Brian Behlendorf e5e94c40f7 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-09 10:39:44 -07:00
Brian Behlendorf aa8ed32ee8 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-09 10:39:43 -07:00
Brian Behlendorf 9e394e10a9 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-07-09 10:39:41 -07:00
Brian Behlendorf 2cc278c96f This change looks to have been made due to Sun bug 6803822, but
it's not exactly clear to me why.  Regardless I'm taking it.
2009-07-09 10:30:06 -07:00
Brian Behlendorf 43af29de5f Type int accidentally not declared at the top of the function. 2009-07-09 10:19:02 -07:00
Brian Behlendorf 4d410127b0 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-07-09 08:49:29 -07:00
Brian Behlendorf cc6e67fa7f Wrap sysevent includes until sysevent or something like it is implemented. 2009-07-09 08:40:33 -07:00
Brian Behlendorf b12e8eb702 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-08 09:20:37 -07:00
Brian Behlendorf cfa46b4440 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-08 09:19:57 -07:00
Brian Behlendorf 1ef0da1c7b Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-08 09:19:03 -07:00
Brian Behlendorf 6e1c4e5bd6 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-08 09:18:45 -07:00
Brian Behlendorf e2e3b40ef9 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-08 09:18:32 -07:00
Brian Behlendorf 0d73002d8d Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-08 09:18:20 -07:00
Brian Behlendorf 1e0e588128 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-08 09:18:18 -07:00
Brian Behlendorf 2aa22c1ccb Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-08 09:17:53 -07:00
Brian Behlendorf 1355255010 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-08 09:17:52 -07:00
Brian Behlendorf 9d873b8884 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-08 09:17:28 -07:00
Brian Behlendorf 368436bb83 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-08 09:16:33 -07:00
Brian Behlendorf affa4ec536 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-08 09:16:10 -07:00
Brian Behlendorf aa636ae442 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-08 09:16:07 -07:00
Brian Behlendorf 33077ad631 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-08 09:16:05 -07:00
Brian Behlendorf f00e6fe5c3 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-08 09:16:04 -07:00
Brian Behlendorf 5fc46112cb Merge branch 'gcc-c90' into refs/top-bases/gcc-branch 2009-07-08 09:16:01 -07:00
Brian Behlendorf 58f5e63293 Resolve a 2 new cases of for loop variable declared in for() 2009-07-08 09:05:37 -07:00
Brian Behlendorf 28718acdab Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-07-07 17:13:35 -07:00
Brian Behlendorf 756d013735 Disable autoexpand notifing sysevent which is not supported. 2009-07-07 17:06:27 -07:00
Brian Behlendorf 85f46e8651 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-07 16:35:05 -07:00
Brian Behlendorf dd1e80c3c5 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-07 16:34:26 -07:00
Brian Behlendorf dc5a90a00d Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-07 16:33:35 -07:00
Brian Behlendorf b9813a2a75 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-07 16:33:24 -07:00
Brian Behlendorf 056bbc39b4 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-07 16:33:10 -07:00
Brian Behlendorf 6bc6e35298 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-07 16:32:58 -07:00
Brian Behlendorf 8028fd5db5 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-07 16:32:57 -07:00
Brian Behlendorf 68a0ba0bc3 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-07 16:32:35 -07:00
Brian Behlendorf deacdbc785 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-07 16:32:34 -07:00
Brian Behlendorf c20c6fa4c4 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-07 16:32:14 -07:00
Brian Behlendorf 3c42220ce1 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-07 16:31:22 -07:00
Brian Behlendorf 67e2052f52 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-07 16:31:01 -07:00
Brian Behlendorf b6cf87b32d Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-07 16:30:58 -07:00
Brian Behlendorf 0a00d10c24 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-07 16:30:57 -07:00
Brian Behlendorf 02362668ac Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-07 16:30:56 -07:00
Brian Behlendorf 24daf7747f Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-07-07 16:30:54 -07:00
Brian Behlendorf 0e310d30de Merge branch 'gcc-missing-case' into refs/top-bases/gcc-branch 2009-07-07 16:30:54 -07:00
Brian Behlendorf 10dcf485d3 First fit allocator unused comment it out. 2009-07-07 16:23:09 -07:00
Brian Behlendorf ebda366c1c Add missing case introduced by rebase. 2009-07-07 16:22:33 -07:00
Brian Behlendorf 83bdfba9ad Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-07 16:13:12 -07:00
Brian Behlendorf 8b74968f01 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-07 16:12:37 -07:00
Brian Behlendorf 0e70c1ff85 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-07 16:11:49 -07:00
Brian Behlendorf 82ad66258e Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-07 16:11:37 -07:00
Brian Behlendorf d9a91bf46b Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-07 16:11:24 -07:00
Brian Behlendorf 3977001d03 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-07 16:11:12 -07:00
Brian Behlendorf 80528a7792 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-07 16:11:11 -07:00
Brian Behlendorf f6880f590e Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-07 16:10:52 -07:00
Brian Behlendorf 77e4a2039c Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-07 16:10:51 -07:00
Brian Behlendorf 5d2bdd5b5e Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-07 16:10:32 -07:00
Brian Behlendorf 39ab61050e Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-07 16:09:42 -07:00
Brian Behlendorf e122a47cd8 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-07 16:09:19 -07:00
Brian Behlendorf b8af4a2181 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-07 16:09:16 -07:00
Brian Behlendorf c460e5edb0 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-07 16:09:15 -07:00
Brian Behlendorf 04a83f2337 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-07 16:09:13 -07:00
Brian Behlendorf 55b864f19b Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch 2009-07-07 16:09:12 -07:00
Brian Behlendorf f80f59f955 Add missing paranthesis for gcc. 2009-07-07 16:01:13 -07:00
Brian Behlendorf 09184991f6 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-07 15:54:35 -07:00
Brian Behlendorf cc12f23682 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-07 15:53:55 -07:00
Brian Behlendorf f24d102540 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-07 15:53:02 -07:00
Brian Behlendorf 21fa8cfb5d Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-07 15:52:48 -07:00
Brian Behlendorf 190d24ca6b Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-07 15:52:35 -07:00
Brian Behlendorf 8e84e9205f Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-07 15:52:22 -07:00
Brian Behlendorf 1cf1fc91a1 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-07 15:52:21 -07:00
Brian Behlendorf 71a479fb53 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-07 15:51:59 -07:00
Brian Behlendorf 91316b77b9 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-07 15:51:57 -07:00
Brian Behlendorf b23ea0a299 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-07 15:51:36 -07:00
Brian Behlendorf f51ac052ef Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-07 15:50:42 -07:00
Brian Behlendorf 795d799358 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-07 15:50:19 -07:00
Brian Behlendorf 4abc33bbe4 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-07 15:50:16 -07:00
Brian Behlendorf e5c8fcd6b0 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-07 15:50:14 -07:00
Brian Behlendorf c75167c985 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-07-07 15:50:13 -07:00
Brian Behlendorf 07a6b68575 Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-07-07 15:50:11 -07:00
Brian Behlendorf 7373ddf55f hash_lock should always be initialized 2009-07-07 15:41:19 -07:00
Brian Behlendorf 20989cd4f2 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2009-07-06 17:01:43 -07:00
Brian Behlendorf e49bdb470e Merge branch 'linux-have-uio-rw' into refs/top-bases/linux-zfs-branch 2009-07-06 17:01:42 -07:00
Brian Behlendorf 169b3085db Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
Conflicts:

	module/zfs/dmu.c
2009-07-06 17:01:30 -07:00
Brian Behlendorf 621679fec6 Update to use dmu_read() instead of dmu_read_impl() now that a 'flags'
argument is available.  This flags argument was added to allow a clean
API for disabling prefetch, so I'll update zpios to use it in preference
to the module option hack used before.
2009-07-06 16:51:59 -07:00
Brian Behlendorf 1175906fbc Update zerocopy patch to be consistent with new flags arg
passed to dmu_read().  It would be nice to have one of these
for dmu_write() as well but we have do without for now.
2009-07-06 16:01:41 -07:00
Brian Behlendorf 07a56371aa Merge branch 'linux-have-zpl' into refs/top-bases/linux-zfs-branch
Conflicts:

	module/zfs/zfs_vfsops.c
2009-07-06 15:17:38 -07:00
Brian Behlendorf a6b1465e30 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl
Conflicts:

	module/zfs/include/sys/zfs_fuid.h
	module/zfs/zfs_fuid.c
	module/zfs/zfs_ioctl.c
	module/zfs/zfs_vfsops.c
	module/zfs/zfs_znode.c
2009-07-06 15:16:54 -07:00
Brian Behlendorf d65102b493 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-06 15:08:57 -07:00
Brian Behlendorf 2b582c34cb Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
Conflicts:

	module/zfs/zfs_ioctl.c
2009-07-06 15:03:54 -07:00
Brian Behlendorf f48b799f78 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-06 15:03:09 -07:00
Brian Behlendorf b56250900b Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-06 15:02:55 -07:00
Brian Behlendorf ae68a8980c Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw
Conflicts:

	module/zfs/include/sys/dmu.h
2009-07-06 15:02:33 -07:00
Brian Behlendorf 1cf1a077cd Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy
Conflicts:

	module/zfs/dmu.c
	module/zfs/include/sys/dmu.h
2009-07-06 15:00:24 -07:00
Brian Behlendorf 4fa3570131 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-06 13:47:16 -07:00
Brian Behlendorf 266a7d8cd7 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
Conflicts:

	module/zcommon/zfs_namecheck.c
	module/zfs/spa.c
	module/zfs/vdev.c
	module/zfs/zap_micro.c
2009-07-06 13:47:04 -07:00
Brian Behlendorf 6e96138f82 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-06 13:44:56 -07:00
Brian Behlendorf 4a7761abd2 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-06 13:43:07 -07:00
Brian Behlendorf 149c4b2731 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch
Conflicts:

	cmd/ztest/ztest.c
	lib/libzfs/libzfs_pool.c
	module/zcommon/zfs_namecheck.c
	module/zfs/dmu.c
	module/zfs/include/sys/dmu.h
	module/zfs/include/sys/zfs_fuid.h
	module/zfs/spa.c
	module/zfs/vdev.c
	module/zfs/zap_micro.c
	module/zfs/zfs_fuid.c
	module/zfs/zfs_ioctl.c
	module/zfs/zfs_vfsops.c
	module/zfs/zfs_znode.c
2009-07-06 13:40:29 -07:00
Brian Behlendorf e3d05c97eb Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-06 13:17:32 -07:00
Brian Behlendorf 658459249e Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-07-06 13:17:28 -07:00
Brian Behlendorf 8795d8f034 Merge commit 'refs/top-bases/feature-commit-cb' into feature-commit-cb 2009-07-06 13:15:43 -07:00
Brian Behlendorf 95ba24ed69 Merge branch 'feature-zap-cursor-to-key' into refs/top-bases/feature-branch
Conflicts:

	cmd/ztest/ztest.c
2009-07-06 13:15:35 -07:00
Brian Behlendorf d369760713 Merge commit 'refs/top-bases/feature-zap-cursor-to-key' into feature-zap-cursor-to-key 2009-07-06 13:14:41 -07:00
Brian Behlendorf 4539acb1cd Merge commit 'refs/top-bases/fix-taskq' into fix-taskq 2009-07-06 13:13:25 -07:00
Brian Behlendorf 326bb586bd Merge commit 'refs/top-bases/fix-stack' into fix-stack 2009-07-06 13:13:20 -07:00
Brian Behlendorf eaba5df9af Merge commit 'refs/top-bases/fix-dsl_pool_t' into fix-dsl_pool_t 2009-07-06 13:12:44 -07:00
Brian Behlendorf 5b629493e0 Merge commit 'refs/top-bases/fix-dbuf_dirty_record_t' into fix-dbuf_dirty_record_t 2009-07-06 13:12:34 -07:00
Brian Behlendorf 01c3cfc58f Merge branch 'fix-clock-wrap' into refs/top-bases/fix-branch
Conflicts:

	module/zfs/zil.c
2009-07-06 13:12:23 -07:00
Brian Behlendorf 3ada0935a3 Merge commit 'refs/top-bases/fix-clock-wrap' into fix-clock-wrap 2009-07-06 13:11:56 -07:00
Brian Behlendorf a1ccb00b7e Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
Conflicts:

	cmd/ztest/ztest.c
	module/zfs/zil.c
2009-07-06 13:11:34 -07:00
Brian Behlendorf 480b03791d Merge commit 'refs/top-bases/gcc-missing-braces' into gcc-missing-braces
Conflicts:

	lib/libzfs/libzfs_dataset.c
2009-07-02 17:07:52 -07:00
Brian Behlendorf c66757e332 Merge branch 'gcc-ident-pragmas' into refs/top-bases/gcc-branch
Conflicts:

	module/zfs/fletcher.c
2009-07-02 17:07:06 -07:00
Brian Behlendorf a06a428e15 Merge commit 'refs/top-bases/gcc-ident-pragmas' into gcc-ident-pragmas
Conflicts:

	cmd/zdb/zdb_il.c
	cmd/zinject/zinject.c
	lib/libzfs/libzfs_graph.c
	module/zcommon/include/sys/fm/fs/zfs.h
	module/zcommon/include/zfs_deleg.h
	module/zcommon/include/zfs_namecheck.h
	module/zcommon/zfs_deleg.c
	module/zcommon/zfs_namecheck.c
	module/zcommon/zprop_common.c
	module/zfs/dmu_object.c
	module/zfs/dsl_prop.c
	module/zfs/fletcher.c
	module/zfs/include/sys/dsl_deleg.h
	module/zfs/include/sys/dsl_prop.h
	module/zfs/include/sys/metaslab_impl.h
	module/zfs/include/sys/spa_boot.h
	module/zfs/include/sys/zap.h
	module/zfs/include/sys/zap_impl.h
	module/zfs/include/sys/zfs_context.h
	module/zfs/include/sys/zfs_ctldir.h
	module/zfs/include/sys/zfs_dir.h
	module/zfs/include/sys/zfs_fuid.h
	module/zfs/include/sys/zfs_ioctl.h
	module/zfs/spa_errlog.c
	module/zfs/spa_history.c
	module/zfs/zap.c
	module/zfs/zap_leaf.c
	module/zfs/zap_micro.c
2009-07-02 17:06:20 -07:00
Brian Behlendorf bc330e731d Merge commit 'refs/top-bases/gcc-64bit-constants' into gcc-64bit-constants 2009-07-02 16:59:46 -07:00
Brian Behlendorf 244d656e28 Merge commit 'refs/top-bases/gcc-shadow' into gcc-shadow
Conflicts:

	module/zfs/dmu.c
2009-07-02 16:59:39 -07:00
Brian Behlendorf 9550da2ba6 Merge commit 'refs/top-bases/gcc-unused' into gcc-unused
Conflicts:

	module/zfs/arc.c
	module/zfs/zio.c
2009-07-02 16:58:33 -07:00
Brian Behlendorf 44703f0029 Merge commit 'refs/top-bases/gcc-uninit' into gcc-uninit
Conflicts:

	lib/libzfs/libzfs_dataset.c
	module/zfs/arc.c
	module/zfs/spa.c
2009-07-02 16:57:09 -07:00
Brian Behlendorf eb0137f395 Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis
Conflicts:

	lib/libzfs/libzfs_dataset.c
	module/zfs/arc.c
	module/zfs/dmu_objset.c
	module/zfs/dsl_pool.c
	module/zfs/spa.c
	module/zfs/zfs_ioctl.c
2009-07-02 16:55:22 -07:00
Brian Behlendorf a5a71d128d Merge commit 'refs/top-bases/gcc-missing-case' into gcc-missing-case
Conflicts:

	lib/libzfs/libzfs_dataset.c
	module/zfs/spa.c
2009-07-02 16:52:07 -07:00
Brian Behlendorf 5a2a5d64a5 Merge commit 'refs/top-bases/gcc-invalid-prototype' into gcc-invalid-prototype 2009-07-02 16:51:09 -07:00
Brian Behlendorf b095bf444a Merge commit 'refs/top-bases/gcc-cast' into gcc-cast
Conflicts:

	cmd/zfs/zfs_main.c
	lib/libzfs/libzfs_dataset.c
2009-07-02 16:50:53 -07:00
Brian Behlendorf e2b2597751 Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
Conflicts:

	cmd/zdb/zdb_il.c
	cmd/zfs/zfs_main.c
	cmd/zinject/zinject.c
	cmd/ztest/ztest.c
	lib/libzfs/libzfs_dataset.c
	lib/libzfs/libzfs_graph.c
	module/zcommon/include/sys/fm/fs/zfs.h
	module/zcommon/include/zfs_deleg.h
	module/zcommon/include/zfs_namecheck.h
	module/zcommon/zfs_deleg.c
	module/zcommon/zfs_namecheck.c
	module/zcommon/zprop_common.c
	module/zfs/arc.c
	module/zfs/dmu.c
	module/zfs/dmu_object.c
	module/zfs/dmu_objset.c
	module/zfs/dsl_pool.c
	module/zfs/dsl_prop.c
	module/zfs/fletcher.c
	module/zfs/include/sys/dsl_deleg.h
	module/zfs/include/sys/dsl_prop.h
	module/zfs/include/sys/metaslab_impl.h
	module/zfs/include/sys/spa_boot.h
	module/zfs/include/sys/zap.h
	module/zfs/include/sys/zap_impl.h
	module/zfs/include/sys/zfs_context.h
	module/zfs/include/sys/zfs_ctldir.h
	module/zfs/include/sys/zfs_dir.h
	module/zfs/include/sys/zfs_fuid.h
	module/zfs/include/sys/zfs_ioctl.h
	module/zfs/spa.c
	module/zfs/spa_errlog.c
	module/zfs/spa_history.c
	module/zfs/zap.c
	module/zfs/zap_leaf.c
	module/zfs/zap_micro.c
	module/zfs/zfs_ioctl.c
	module/zfs/zio.c
2009-07-02 16:49:11 -07:00
Brian Behlendorf e9f14862a5 Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
Conflicts:

	module/zfs/dmu_objset.c
	module/zfs/spa.c
	module/zfs/vdev.c
	module/zfs/vdev_label.c
	module/zfs/zio.c
2009-07-02 16:18:03 -07:00
Brian Behlendorf 9babb37438 Rebase master to b117 2009-07-02 15:44:48 -07:00
Brian Behlendorf df388bfc0a Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-07-01 11:11:48 -07:00
Brian Behlendorf 94390a0793 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-07-01 11:11:27 -07:00
Brian Behlendorf 10c43094ed Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-07-01 11:10:58 -07:00
Brian Behlendorf 3c96976b99 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-07-01 11:10:51 -07:00
Brian Behlendorf 212ecc6560 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-07-01 11:10:44 -07:00
Brian Behlendorf bfa8b02c2c Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-07-01 11:10:37 -07:00
Brian Behlendorf d4721058bc Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-07-01 11:10:36 -07:00
Brian Behlendorf a37fb966bd Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-07-01 11:10:25 -07:00
Brian Behlendorf 8c684c8d85 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-07-01 11:10:24 -07:00
Brian Behlendorf 578f6e03f2 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-07-01 11:10:13 -07:00
Brian Behlendorf 7262d13e72 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-07-01 11:09:45 -07:00
Brian Behlendorf b44445a8f1 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-07-01 11:09:33 -07:00
Brian Behlendorf fa91b5d59b Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-07-01 11:09:31 -07:00
Brian Behlendorf ef0a712858 Distro friendly build system / packaging improvements.
These changes bring the zfs-0.4.4 tree in to compliance with
the spl-0.4.4 packaging changes.  The bottom line is 2 source
rpms and 4 binary rpms will now be generated when creating
packages there will be:

zfs-<version>.src.rpm
- Fully rebuildable source rpm for libzfs and utils.
zfs-modules-<version>.src.rpm
- Fully rebuildable source rpm for kernel modules.

zfs-<version>.<arch>.rpm
- Binary rpm for libzfs and utils.  The utils in this package are
  compatible with all zfs-module rpms of the same version.
zfs-devel-<version>.<arch>.rpm
- Binary rpm containing headers for building against libzfs libraries.

zfs-modules-<verion>-<kernel>.arch.rpm
- Binary rpm containing the kernel modules for a specific kernel build.
  The package name contains the kernel version and you should have one
  of these packages installed to match every kernel on your system.
zfs-modules-devel-<verion>-<kernel>.arch.rpm
- Binary rpm containing development header and module symbols needed
  for building additional kernel modules which are dependent on the
  zfs module stack.

Expect minor interations on these changes as I validate they work
properly on CHAOS, RHEL, Fedora, and SLES style distros.
2009-07-01 10:53:05 -07:00
Brian Behlendorf 26bea36f61 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-06-08 13:24:19 -07:00
Brian Behlendorf 2968e197aa Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-06-08 13:24:17 -07:00
Brian Behlendorf 737a6ba81a Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-06-08 13:23:40 -07:00
Brian Behlendorf 041457706f Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-06-08 13:23:35 -07:00
Brian Behlendorf 96da8b0db7 Add missing EXPORT_SYMBOL() to dmu_tx_callback_register(). 2009-06-08 13:08:14 -07:00
Brian Behlendorf cc5ce72296 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-20 13:26:38 -07:00
Brian Behlendorf f47473638b Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-20 13:26:36 -07:00
Brian Behlendorf 9806b5c02b Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-03-20 13:26:18 -07:00
Brian Behlendorf 6bf1e782f4 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-20 13:26:16 -07:00
Brian Behlendorf 9bee47e648 Export additional txg_* symbols. 2009-03-20 13:17:23 -07:00
Brian Behlendorf f764039e87 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-03-19 21:32:26 -07:00
Brian Behlendorf aee87a5ab6 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-03-19 21:31:54 -07:00
Brian Behlendorf b58bf81e15 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-03-19 21:31:06 -07:00
Brian Behlendorf 4298933698 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-03-19 21:30:56 -07:00
Brian Behlendorf a85dce5add Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-03-19 21:30:46 -07:00
Brian Behlendorf 8c8e10d491 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-19 21:30:35 -07:00
Brian Behlendorf 18569f4b9e Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-19 21:30:34 -07:00
Brian Behlendorf cc0a015671 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-19 21:30:17 -07:00
Brian Behlendorf 61914d7403 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-03-19 21:30:15 -07:00
Brian Behlendorf bad44ad931 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-03-19 21:29:58 -07:00
Brian Behlendorf 30eaed5564 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-03-19 21:29:14 -07:00
Brian Behlendorf 56d18263ed Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-03-19 21:28:54 -07:00
Brian Behlendorf 0ebc97288a Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-03-19 21:28:52 -07:00
Brian Behlendorf bd1685ee4e Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-19 21:28:51 -07:00
Brian Behlendorf 1769e10f17 Merge branch 'feature-branch' into refs/top-bases/zfs-branch 2009-03-19 21:28:50 -07:00
Brian Behlendorf 6d883d7d40 Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-03-19 21:28:48 -07:00
Brian Behlendorf fed604c844 Add extra () requested by gcc 2009-03-19 21:18:54 -07:00
Brian Behlendorf 4f2dfa3c94 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-03-19 21:13:11 -07:00
Brian Behlendorf 665c272091 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-03-19 21:11:35 -07:00
Brian Behlendorf f87494c866 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
Conflicts:

	module/zfs/txg.c
2009-03-19 21:10:40 -07:00
Brian Behlendorf b08807315c Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-03-19 21:09:02 -07:00
Brian Behlendorf 4ed190513e Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-03-19 21:08:51 -07:00
Brian Behlendorf 57c6cf3c4c Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-19 21:08:41 -07:00
Brian Behlendorf bf3d911bc1 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-19 21:08:39 -07:00
Brian Behlendorf 0173e5dce7 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-19 21:08:22 -07:00
Brian Behlendorf 275f4aae5d Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
Conflicts:

	module/zfs/dmu_tx.c
2009-03-19 21:08:17 -07:00
Brian Behlendorf 4b56c30982 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-03-19 21:07:10 -07:00
Brian Behlendorf cc4c1dbc8d Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-03-19 21:06:25 -07:00
Brian Behlendorf 00d8d21f51 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-03-19 21:06:15 -07:00
Brian Behlendorf 7f33364d3c Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch
Conflicts:

	lib/libzpool/include/sys/zfs_context.h
	module/zfs/dmu_tx.c
	module/zfs/txg.c
2009-03-19 21:03:58 -07:00
Brian Behlendorf e7f02d3b41 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-19 20:59:33 -07:00
Brian Behlendorf eb811f7fa9 Merge branch 'feature-branch' into refs/top-bases/zfs-branch
Conflicts:

	module/zfs/include/sys/dmu_tx.h
	module/zfs/include/sys/txg.h
2009-03-19 20:59:12 -07:00
Brian Behlendorf f180959bac Merge branch 'feature-pthreads' into refs/top-bases/feature-branch 2009-03-19 20:51:18 -07:00
Brian Behlendorf 29703a5b4e Add 'feature-commit-cb' branch for DMU commit callbacks. 2009-03-19 20:30:14 -07:00
Brian Behlendorf a9eba02cdb Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-03-19 15:31:53 -07:00
Brian Behlendorf d7243f7729 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-03-19 15:31:32 -07:00
Brian Behlendorf d751357f54 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-03-19 15:31:04 -07:00
Brian Behlendorf 7c39f7c920 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-03-19 15:30:57 -07:00
Brian Behlendorf a2a33f17e4 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-03-19 15:30:50 -07:00
Brian Behlendorf 852952d742 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-19 15:30:44 -07:00
Brian Behlendorf 146fb170ef Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-19 15:30:43 -07:00
Brian Behlendorf 86681399b8 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-19 15:30:33 -07:00
Brian Behlendorf e1540e9cbb Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-03-19 15:30:32 -07:00
Brian Behlendorf e4b719f8f4 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-03-19 15:30:21 -07:00
Brian Behlendorf e75034b8e9 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-03-19 15:29:52 -07:00
Brian Behlendorf 7e8fa40f4d Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-03-19 15:29:38 -07:00
Brian Behlendorf aa729c745c Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-03-19 15:29:36 -07:00
Brian Behlendorf db3436fafe Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-19 15:29:35 -07:00
Brian Behlendorf 2518c98d9e Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-03-19 15:29:34 -07:00
Brian Behlendorf c8c4948d00 Merge branch 'fix-dnode-cons' into refs/top-bases/fix-branch 2009-03-19 15:29:33 -07:00
Brian Behlendorf 60d25f4b93 The patch resolves the extra call to dnode_cons() in dnode_create().
The extra call to the constructor was there to reinitialize the non-
trivial primatives in the dnode (lists, mutexs, condvars, avl tree, etc).
This was safe, although not exactly clean, on Solaris because none of
the primitives allocate memory.  In the Linux port this is not true.
To keep stack usage to a minimum several of the primatives dynamically
allocate memory thus initializing them twice results in a memory leak.

This patch resolves this problem for Solaris and Linux by ensuring all
*_inits are called in the constructor, and all *_destroys are called
in the destructor.  Additionally we ensure that all dnode objects are
properly deconstructed before being freed to the slab, and when the
objects are allocated from the slab all required data members are
explicity initialized to correct values.
2009-03-19 15:22:48 -07:00
Brian Behlendorf 70c010a7ac Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-03-19 15:09:47 -07:00
Brian Behlendorf c495a4bd1f Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-03-19 15:09:24 -07:00
Brian Behlendorf 2a5c75d514 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-03-19 15:08:54 -07:00
Brian Behlendorf 8b0f4fa45c Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-03-19 15:08:46 -07:00
Brian Behlendorf b313904c89 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-03-19 15:08:39 -07:00
Brian Behlendorf f36defdaa7 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-19 15:08:31 -07:00
Brian Behlendorf 0b74b5ae59 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-19 15:08:30 -07:00
Brian Behlendorf 099dd7e175 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-19 15:08:18 -07:00
Brian Behlendorf fd3db92fe7 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-03-19 15:08:17 -07:00
Brian Behlendorf 86cb6f2030 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-03-19 15:08:05 -07:00
Brian Behlendorf 5a85b97928 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-03-19 15:07:35 -07:00
Brian Behlendorf 8cdd340206 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-03-19 15:07:21 -07:00
Brian Behlendorf fac4873ad7 Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-03-19 15:07:19 -07:00
Brian Behlendorf 90bbbd109b Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-19 15:07:19 -07:00
Brian Behlendorf f07d61a8c1 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2009-03-19 15:07:18 -07:00
Brian Behlendorf cc032b6337 Merge branch 'fix-list' into refs/top-bases/fix-branch 2009-03-19 15:07:16 -07:00
Brian Behlendorf 9bbf8f1761 Resolve conflict with fix-dnode-cons 2009-03-19 15:02:05 -07:00
Brian Behlendorf 1c925dc4ce Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2009-03-17 16:33:47 -07:00
Brian Behlendorf 02424a268b Use spl_device_* macro's for portability. 2009-03-17 16:27:57 -07:00
Brian Behlendorf 015c4a4deb Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-17 16:07:02 -07:00
Brian Behlendorf 1f84b8ed2c Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-17 16:07:01 -07:00
Brian Behlendorf f8cd6b6b49 Merge branch 'linux-have-sysevent' into refs/top-bases/linux-zfs-branch 2009-03-17 16:06:51 -07:00
Brian Behlendorf 80e98bb0f5 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-17 16:06:50 -07:00
Brian Behlendorf a9b0088f48 Use include missing zfs_config.h and use ZFS_META_VERSION (not VERSION) 2009-03-17 16:02:09 -07:00
Brian Behlendorf a0155baaa9 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2009-03-17 15:25:57 -07:00
Brian Behlendorf 23c544c884 Add zfs_config.h include for HAVE_2ARGS_BIO_END_IO_T define 2009-03-17 15:14:02 -07:00
Brian Behlendorf da843563aa Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-03-16 16:23:03 -07:00
Brian Behlendorf 563c0614c4 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-03-16 16:22:19 -07:00
Brian Behlendorf b7f6b6e19d Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-03-16 16:21:15 -07:00
Brian Behlendorf 4bcfe17f4d Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-03-16 16:21:00 -07:00
Brian Behlendorf c72f5112d3 Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-03-16 16:20:45 -07:00
Brian Behlendorf f7087f0431 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-16 16:20:30 -07:00
Brian Behlendorf f073f197bc Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-16 16:20:29 -07:00
Brian Behlendorf 7ca5472963 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-16 16:20:03 -07:00
Brian Behlendorf 5edabb999f Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-03-16 16:20:02 -07:00
Brian Behlendorf 6639b29332 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-03-16 16:19:35 -07:00
Brian Behlendorf 11d99f4112 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-03-16 16:18:27 -07:00
Brian Behlendorf f28a31a09a Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-03-16 16:18:01 -07:00
Brian Behlendorf 61926abf0f Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-03-16 16:17:58 -07:00
Brian Behlendorf df985d53db Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-16 16:17:57 -07:00
Brian Behlendorf f86b52a39d Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-03-16 16:17:55 -07:00
Brian Behlendorf 3eebe1bd0e Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch 2009-03-16 16:17:54 -07:00
Brian Behlendorf 3eb4ba3ebd Add 3 more uninit errors detected by gcc 3.4.0 compiler. 2009-03-16 16:06:50 -07:00
Brian Behlendorf 709c447ce6 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-03-16 11:41:18 -07:00
Brian Behlendorf 7bca8f1926 Use vmem_size() only on i386 systems and in the kernel. 2009-03-16 11:27:26 -07:00
Brian Behlendorf b289a33e68 Merge commit 'refs/top-bases/linux-have-zpl' into linux-have-zpl 2009-03-13 11:01:27 -07:00
Brian Behlendorf abfd24f708 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2009-03-13 11:00:47 -07:00
Brian Behlendorf 339553bdea Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2009-03-13 11:00:03 -07:00
Brian Behlendorf a4f8aecbe8 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2009-03-13 10:59:53 -07:00
Brian Behlendorf ab636c01ec Merge commit 'refs/top-bases/linux-have-zvol' into linux-have-zvol 2009-03-13 10:59:42 -07:00
Brian Behlendorf 344e59a582 Merge commit 'refs/top-bases/linux-have-uio-rw' into linux-have-uio-rw 2009-03-13 10:59:32 -07:00
Brian Behlendorf b60dd0bdd7 Merge commit 'refs/top-bases/linux-debug-zerocopy' into linux-debug-zerocopy 2009-03-13 10:59:31 -07:00
Brian Behlendorf f21bd57c48 Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent 2009-03-13 10:59:15 -07:00
Brian Behlendorf adf984639d Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2009-03-13 10:59:14 -07:00
Brian Behlendorf d93546b1d3 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2009-03-13 10:58:58 -07:00
Brian Behlendorf d3afa01aa9 Merge commit 'refs/top-bases/linux-have-fm' into linux-have-fm 2009-03-13 10:58:14 -07:00
Brian Behlendorf d7f60ff869 Merge branch 'linux-arc' into refs/top-bases/linux-zfs-branch 2009-03-13 10:57:50 -07:00
Brian Behlendorf 648bbdebbe Merge commit 'refs/top-bases/linux-arc' into linux-arc 2009-03-13 10:57:47 -07:00
Brian Behlendorf 486df2d11d Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2009-03-13 10:57:46 -07:00
Brian Behlendorf 36c46c6031 Merge branch 'gcc-branch' into refs/top-bases/zfs-branch 2009-03-13 10:57:45 -07:00
Brian Behlendorf d2910d2415 Merge branch 'gcc-unused' into refs/top-bases/gcc-branch 2009-03-13 10:57:43 -07:00
Brian Behlendorf c98996ded8 Explicitly cast to prevent 'void *' dereference. 2009-03-13 10:51:11 -07:00