diff options
| author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2017-11-20 13:22:10 +0000 |
|---|---|---|
| committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2017-11-20 13:22:10 +0000 |
| commit | 2d0998ba9095083be74c87c6dd61bd2d364b00ac (patch) | |
| tree | bdfb4934708ce94c50d52f93f8ea6a3144e898c6 /usr/src/cmd/zfs/zfs_main.c | |
| parent | 3de4744b1b965ad188cb7a92a2461427367e9a12 (diff) | |
| parent | a375f4369f2774fb4628ce225260143f7e530cec (diff) | |
| download | illumos-joyent-2d0998ba9095083be74c87c6dd61bd2d364b00ac.tar.gz | |
[illumos-gate merge]
commit a375f4369f2774fb4628ce225260143f7e530cec
8788 tavor: variable 'cfi_dw_info' set but not used
commit 8b8be354eac32fe0c94a52f66250bff1b4e646a1
8787 hermon: variable 'cfi_dw_info' set but not used
commit a3b2868063897ff0083dea538f55f9873eec981f
8677 Open-Context Channel Programs
commit 9dca21df58d57c2dadfa3bcb1d33c7bd0260cfd8
8807 More recent glib updates break hald build
Diffstat (limited to 'usr/src/cmd/zfs/zfs_main.c')
| -rw-r--r-- | usr/src/cmd/zfs/zfs_main.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/usr/src/cmd/zfs/zfs_main.c b/usr/src/cmd/zfs/zfs_main.c index a5e51ad607..d3479edb1b 100644 --- a/usr/src/cmd/zfs/zfs_main.c +++ b/usr/src/cmd/zfs/zfs_main.c @@ -329,7 +329,7 @@ get_usage(zfs_help_t idx) case HELP_BOOKMARK: return (gettext("\tbookmark <snapshot> <bookmark>\n")); case HELP_CHANNEL_PROGRAM: - return (gettext("\tprogram [-t <instruction limit>] " + return (gettext("\tprogram [-n] [-t <instruction limit>] " "[-m <memory limit (b)>] <pool> <program file> " "[lua args...]\n")); } @@ -7089,11 +7089,12 @@ zfs_do_channel_program(int argc, char **argv) nvlist_t *outnvl; uint64_t instrlimit = ZCP_DEFAULT_INSTRLIMIT; uint64_t memlimit = ZCP_DEFAULT_MEMLIMIT; + boolean_t sync_flag = B_TRUE; zpool_handle_t *zhp; /* check options */ while (-1 != - (c = getopt(argc, argv, "t:(instr-limit)m:(memory-limit)"))) { + (c = getopt(argc, argv, "nt:(instr-limit)m:(memory-limit)"))) { switch (c) { case 't': case 'm': { @@ -7131,6 +7132,10 @@ zfs_do_channel_program(int argc, char **argv) } break; } + case 'n': { + sync_flag = B_FALSE; + break; + } case '?': (void) fprintf(stderr, gettext("invalid option '%c'\n"), optopt); @@ -7202,8 +7207,13 @@ zfs_do_channel_program(int argc, char **argv) nvlist_t *argnvl = fnvlist_alloc(); fnvlist_add_string_array(argnvl, ZCP_ARG_CLIARGV, argv + 2, argc - 2); - ret = lzc_channel_program(poolname, progbuf, instrlimit, memlimit, - argnvl, &outnvl); + if (sync_flag) { + ret = lzc_channel_program(poolname, progbuf, + instrlimit, memlimit, argnvl, &outnvl); + } else { + ret = lzc_channel_program_nosync(poolname, progbuf, + instrlimit, memlimit, argnvl, &outnvl); + } if (ret != 0) { /* |
