diff options
author | Chris Dunlap <[email protected]> | 2014-02-12 10:30:18 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-03-31 16:11:21 -0700 |
commit | 8c7aa0cfc47578d1d38f80ecb7c66eed7cde5c59 (patch) | |
tree | 3f4f8ec16357c89941b544adcd7009a57d0e4893 /cmd/zpool | |
parent | 07917db9908516aa3fd55d39d2c1792aca8bebcd (diff) |
Replace zpool_events_next() "block" parm w/ "flags"
zpool_events_next() can be called in blocking mode by specifying a
non-zero value for the "block" parameter. However, the design of
the ZFS Event Daemon (zed) requires additional functionality from
zpool_events_next(). Instead of adding additional arguments to the
function, it makes more sense to use flags that can be bitwise-or'd
together.
This commit replaces the zpool_events_next() int "block" parameter with
an unsigned bitwise "flags" parameter. It also defines ZEVENT_NONE
to specify the default behavior. Since non-blocking mode can be
specified with the existing ZEVENT_NONBLOCK flag, the default behavior
becomes blocking mode. This, in effect, inverts the previous use
of the "block" parameter. Existing callers of zpool_events_next()
have been modified to check for the ZEVENT_NONBLOCK flag.
Signed-off-by: Chris Dunlap <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Issue #2
Diffstat (limited to 'cmd/zpool')
-rw-r--r-- | cmd/zpool/zpool_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cmd/zpool/zpool_main.c b/cmd/zpool/zpool_main.c index 4254f9b4d..cc13e3739 100644 --- a/cmd/zpool/zpool_main.c +++ b/cmd/zpool/zpool_main.c @@ -49,6 +49,7 @@ #include <sys/stat.h> #include <sys/fm/util.h> #include <sys/fm/protocol.h> +#include <sys/zfs_ioctl.h> #include <libzfs.h> @@ -5465,7 +5466,7 @@ zpool_do_events_next(ev_opts_t *opts) while (1) { ret = zpool_events_next(g_zfs, &nvl, &dropped, - !!opts->follow, zevent_fd); + (opts->follow ? ZEVENT_NONE : ZEVENT_NONBLOCK), zevent_fd); if (ret || nvl == NULL) break; |