Brian Behlendorf
3fe3e41259
Merge branch 'linux-spa-thread' into refs/top-bases/linux-zfs-branch
2010-06-16 10:01:06 -07:00
Brian Behlendorf
6104e13be6
Add linux-spa-thread topic branch
...
Disable the spa thread under Linux until it can be implemented.
2010-06-16 09:59:39 -07:00
Brian Behlendorf
3731ec7cf5
Merge branch 'linux-debug-zerocopy' into refs/top-bases/linux-zfs-branch
2010-06-14 16:11:05 -07:00
Brian Behlendorf
6348afcb98
Merge branch 'linux-events' into refs/top-bases/linux-zfs-branch
2010-06-14 16:10:57 -07:00
Brian Behlendorf
e92d6d861f
Update linux-kernel-module with refreshed EXPORT_SYMBOLs
...
After such a large update many of the symbols which were previously
exported are no longer available, and several new symbols have been
added and are needed. Refresh to topic branch to reflect this.
2010-06-14 15:58:15 -07:00
Brian Behlendorf
3a0400ad88
Update linux-events
...
Minor updates to linux-events to handle some upstream changes. Luckily,
this was done flexibly enough the first time it wasn't much of a problem.
2010-06-14 15:57:09 -07:00
Brian Behlendorf
12fac2aa2c
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2010-06-14 15:39:03 -07:00
Brian Behlendorf
c52a71873a
Merge commit 'refs/top-bases/linux-events' into linux-events
2010-06-14 15:38:51 -07:00
Brian Behlendorf
e796e2a03e
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-06-14 15:37:10 -07:00
Brian Behlendorf
c8d75a1c9d
Merge branch 'gcc-no-parenthesis' into refs/top-bases/gcc-branch
2010-06-14 15:37:00 -07:00
Brian Behlendorf
2c95012288
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
2010-06-14 15:36:59 -07:00
Brian Behlendorf
1893aa76ec
Update gcc-no-parenthesis
...
Fix new locations of missing parenthesis according to gcc.
2010-06-14 15:16:41 -07:00
Brian Behlendorf
48bd88f014
Update gcc-c90
...
Additional c90 fixes required due to ZFS update, these include fixing new
places c99 specific things have been done and some cleanup of old usage.
2010-06-14 15:15:26 -07:00
Brian Behlendorf
b41143632b
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
...
Conflicts:
cmd/zpool/zpool_main.c
cmd/zpool/zpool_vdev.c
cmd/ztest/ztest.c
lib/libzfs/libzfs_dataset.c
lib/libzfs/libzfs_import.c
lib/libzfs/libzfs_mount.c
lib/libzfs/libzfs_pool.c
lib/libzfs/libzfs_sendrecv.c
lib/libzpool/include/sys/zfs_context.h
module/zcommon/include/sys/fs/zfs.h
module/zcommon/zfs_comutil.c
module/zfs/arc.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/dmu_send.c
module/zfs/dmu_tx.c
module/zfs/dsl_dataset.c
module/zfs/dsl_dir.c
module/zfs/dsl_scrub.c
module/zfs/fm.c
module/zfs/include/sys/dmu.h
module/zfs/include/sys/fm/fs/zfs.h
module/zfs/include/sys/fm/protocol.h
module/zfs/include/sys/spa.h
module/zfs/include/sys/zfs_context.h
module/zfs/include/sys/zfs_ioctl.h
module/zfs/include/sys/zvol.h
module/zfs/spa.c
module/zfs/spa_boot.c
module/zfs/spa_history.c
module/zfs/spa_misc.c
module/zfs/txg.c
module/zfs/vdev.c
module/zfs/zfs_fm.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_replay.c
module/zfs/zfs_znode.c
module/zfs/zil.c
module/zfs/zio.c
2010-05-28 22:14:39 -07:00
Brian Behlendorf
7008960b9e
Merge commit 'refs/top-bases/linux-events' into linux-events
...
Conflicts:
lib/libzpool/include/sys/zfs_context.h
module/zcommon/include/sys/fs/zfs.h
module/zfs/dsl_scrub.c
module/zfs/fm.c
module/zfs/include/sys/fm/fs/zfs.h
module/zfs/include/sys/fm/protocol.h
module/zfs/include/sys/spa.h
module/zfs/include/sys/zfs_context.h
module/zfs/spa.c
module/zfs/spa_misc.c
module/zfs/vdev.c
module/zfs/zfs_fm.c
2010-05-28 16:42:29 -07:00
Brian Behlendorf
97c49607ec
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
...
Conflicts:
module/zcommon/zfs_comutil.c
module/zfs/arc.c
module/zfs/dmu_objset.c
module/zfs/dmu_tx.c
module/zfs/dsl_dataset.c
module/zfs/dsl_dir.c
module/zfs/spa.c
module/zfs/spa_boot.c
module/zfs/spa_misc.c
module/zfs/vdev.c
module/zfs/zil.c
module/zfs/zio.c
2010-05-28 16:01:35 -07:00
Brian Behlendorf
3e2be634a5
Merge branch 'gcc-c90' into refs/top-bases/gcc-branch
...
Conflicts:
cmd/zdb/zdb.c
cmd/zdb/zdb_il.c
cmd/zfs/zfs_main.c
cmd/zfs/zfs_util.h
cmd/zinject/zinject.h
cmd/zpool/zpool_main.c
cmd/zpool/zpool_util.c
cmd/ztest/ztest.c
lib/libnvpair/include/libnvpair.h
lib/libnvpair/libnvpair.c
lib/libzfs/libzfs_changelist.c
lib/libzfs/libzfs_config.c
lib/libzfs/libzfs_dataset.c
lib/libzfs/libzfs_import.c
lib/libzfs/libzfs_mount.c
lib/libzfs/libzfs_pool.c
lib/libzfs/libzfs_sendrecv.c
module/avl/avl.c
module/avl/include/sys/avl.h
module/nvpair/include/sys/nvpair.h
module/nvpair/nvpair.c
module/zcommon/include/zfs_comutil.h
module/zcommon/include/zfs_prop.h
module/zcommon/zfs_comutil.c
module/zfs/arc.c
module/zfs/dbuf.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/dmu_zfetch.c
module/zfs/dnode_sync.c
module/zfs/dsl_dataset.c
module/zfs/dsl_pool.c
module/zfs/dsl_prop.c
module/zfs/dsl_synctask.c
module/zfs/include/sys/dmu_tx.h
module/zfs/include/sys/dmu_zfetch.h
module/zfs/include/sys/dsl_synctask.h
module/zfs/include/sys/refcount.h
module/zfs/include/sys/txg.h
module/zfs/include/sys/uberblock.h
module/zfs/include/sys/zap_leaf.h
module/zfs/include/sys/zfs_debug.h
module/zfs/include/sys/zfs_znode.h
module/zfs/include/sys/zio_compress.h
module/zfs/include/sys/zvol.h
module/zfs/lzjb.c
module/zfs/metaslab.c
module/zfs/refcount.c
module/zfs/sha256.c
module/zfs/spa.c
module/zfs/spa_boot.c
module/zfs/uberblock.c
module/zfs/vdev.c
module/zfs/zap_micro.c
module/zfs/zfs_ioctl.c
module/zfs/zfs_replay.c
module/zfs/zio.c
module/zfs/zio_compress.c
2010-05-28 15:34:57 -07:00
Brian Behlendorf
28e07224db
Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis
...
Conflicts:
lib/libzfs/libzfs_dataset.c
module/zfs/dmu_objset.c
module/zfs/dsl_dataset.c
module/zfs/dsl_pool.c
module/zfs/spa.c
module/zfs/zfs_ioctl.c
module/zfs/zio.c
2010-05-28 14:54:33 -07:00
Brian Behlendorf
957b7b41d4
Merge commit 'refs/top-bases/gcc-c90' into gcc-c90
...
Conflicts:
cmd/zdb/zdb.c
cmd/ztest/ztest.c
module/zfs/dbuf.c
module/zfs/dsl_dataset.c
module/zfs/dsl_scrub.c
module/zfs/spa.c
module/zfs/vdev.c
module/zfs/zio.c
2010-05-28 14:19:22 -07:00
Brian Behlendorf
428870ff73
Update core ZFS code from build 121 to build 141.
2010-05-28 13:45:14 -07:00
Brian Behlendorf
c7068a5d76
Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch
2010-05-20 10:25:20 -07:00
Brian Behlendorf
4ae64a8acd
Move from kmem_alloc() to vmem_alloc().
...
These two allocations are 16k in size which trips the SPL warning
about large kmem_allocs(). For now simply shift them to a vmem_alloc().
Yes, this has it's own set of problems but this happens infrequently
enough not to be a real issue. But more importantly it means that
we've flagged this place in the code via this topic branch as a
place which still needs long term work.
2010-05-20 10:06:32 -07:00
Brian Behlendorf
feb723fa7d
Merge branch 'linux-events' into refs/top-bases/linux-zfs-branch
2010-05-14 12:55:10 -07:00
Brian Behlendorf
97d19a5e45
Add linux-events topic branch for zevent handling.
...
This topic branch leverages the Solaris style FMA call points
in ZFS to create a user space visible event notification system
under Linux. This new system is called zevent and it unifies
all previous Solaris style ereports and sysevent notifications.
Under this Linux specific scheme when a sysevent or ereport event
occurs an nvlist describing the event is created which looks almost
exactly like a Solaris ereport. These events are queued up in the
kernel when they occur and conditionally logged to the console.
It is then up to a user space application to consume the events
and do whatever it likes with them.
To make this possible the existing /dev/zfs ABI has been extended
with two new ioctls which behave as follows.
* ZFS_IOC_EVENTS_NEXT
Get the next pending event. The kernel will keep track of the last
event consumed by the file descriptor and provide the next one if
available. If no new events are available the ioctl() will block
waiting for the next event. This ioctl may also be called in a
non-blocking mode by setting zc.zc_guid = ZEVENT_NONBLOCK. In the
non-blocking case if no events are available ENOENT will be returned.
It is possible that ESHUTDOWN will be returned if the ioctl() is
called while module unloading is in progress. And finally ENOMEM
may occur if the provided nvlist buffer is not large enough to
contain the entire event.
* ZFS_IOC_EVENTS_CLEAR
Clear are events queued by the kernel. The kernel will keep a fairly
large number of recent events queued, use this ioctl to clear the
in kernel list. This will effect all user space processes consuming
events.
The zpool command has been extended to use this events ABI with the
'events' subcommand. You may run 'zpool events -v' to output a
verbose log of all recent events. This is very similar to the
Solaris 'fmdump -ev' command with the key difference being it also
includes what would be considered sysevents under Solaris. You
may also run in follow mode with the '-f' option. To clear the
in kernel event queue use the '-c' option.
$ sudo cmd/zpool/zpool events -fv
TIME CLASS
May 13 2010 16:31:15.777711000 ereport.fs.zfs.config.sync
class = "ereport.fs.zfs.config.sync"
ena = 0x40982b7897700001
detector = (embedded nvlist)
version = 0x0
scheme = "zfs"
pool = 0xed976600de75dfa6
(end detector)
time = 0x4bec8bc3 0x2e5aed98
pool = "zpios"
pool_guid = 0xed976600de75dfa6
pool_context = 0x0
While the 'zpool events' command is handy for interactive debugging
it is not expected to be the primary consumer of zevents. This ABI
was primarily added to facilitate the addition of a user space
monitoring daemon. This daemon would consume all events posted by
the kernel and based on the type of event perform an action. For
most events simply forwarding them on to syslog is likely enough.
But this interface also cleanly allows for more sophisticated
actions to be taken such as generating an email for a failed drive
2010-05-14 12:40:44 -07:00
Brian Behlendorf
d6f1146154
Remove changes from linux-have-sysevent to prepare for topic branch removal.
2010-04-29 13:12:25 -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
481225606c
Merge commit 'refs/top-bases/gcc-no-parenthesis' into gcc-no-parenthesis
2009-08-18 12:05:39 -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
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
76bf02aebb
Merge branch 'gcc-unused' into refs/top-bases/gcc-branch
2009-07-09 12:23:36 -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
756d013735
Disable autoexpand notifing sysevent which is not supported.
2009-07-07 17:06:27 -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
0e310d30de
Merge branch 'gcc-missing-case' into refs/top-bases/gcc-branch
2009-07-07 16:30:54 -07:00
Brian Behlendorf
ebda366c1c
Add missing case introduced by rebase.
2009-07-07 16:22:33 -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
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
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
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
cebf08458e
Merge commit 'refs/top-bases/linux-have-sysevent' into linux-have-sysevent
2009-03-12 10:01:27 -07:00
Brian Behlendorf
165b2611d2
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2009-03-12 10:01:25 -07:00