aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2018-01-21 19:26:38 +0000
committerAlexander Motin <mav@FreeBSD.org>2018-01-21 19:26:38 +0000
commit619fd3c317c837859e9ca6759d29e1080e5263dc (patch)
tree0972ac4573a041779d15d018b172d34e2a5c0f17 /man
parent6ff83134aa4e0a6fe3fb44513bb4ace181f4f281 (diff)
downloadsrc-619fd3c317c837859e9ca6759d29e1080e5263dc.tar.gz
src-619fd3c317c837859e9ca6759d29e1080e5263dc.zip
8677 Open-Context Channel Programs
illumos/illumos-gate@a3b2868063897ff0083dea538f55f9873eec981f https://www.illumos.org/issues/8677 We want to be able to run channel programs outside of synching context. This would greatly improve performance of channel program that just gather information, as we won't have to wait for synching context anymore. This feature should introduce the following: - A new command line flag in "zfs program" to specify our intention to run in open context. - A new flag/option within the channel program ioctl which selects the context. - Appropriate error handling whenever we try a channel program in open-context that contains zfs.sync* expressions. - Documentation for the new feature in the manual pages. Reviewed by: Matt Ahrens <mahrens@delphix.com> Reviewed by: Chris Williamson <chris.williamson@delphix.com> Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Serapheim Dimitropoulos <serapheim@delphix.com>
Notes
Notes: svn path=/vendor-sys/illumos/dist/; revision=328220
Diffstat (limited to 'man')
-rw-r--r--man/man1m/zfs-program.1m13
-rw-r--r--man/man1m/zfs.1m11
2 files changed, 21 insertions, 3 deletions
diff --git a/man/man1m/zfs-program.1m b/man/man1m/zfs-program.1m
index 0149f2b7a442..5fd4302fb8dc 100644
--- a/man/man1m/zfs-program.1m
+++ b/man/man1m/zfs-program.1m
@@ -14,10 +14,11 @@
.Dt ZFS-PROGRAM 1M
.Os
.Sh NAME
-.Nm zfs program
+.Nm "zfs program"
.Nd executes ZFS channel programs
.Sh SYNOPSIS
-.Cm zfs program
+.Cm "zfs program"
+.Op Fl n
.Op Fl t Ar instruction-limit
.Op Fl m Ar memory-limit
.Ar pool
@@ -45,6 +46,14 @@ will be run on
and any attempts to access or modify other pools will cause an error.
.Sh OPTIONS
.Bl -tag -width "-t"
+.It Fl n
+Executes a read-only channel program, which runs faster.
+The program cannot change on-disk state by calling functions from the
+zfs.sync submodule.
+The program can be used to gather information such as properties and
+determining if changes would succeed (zfs.check.*).
+Without this flag, all pending changes must be synced to disk before a
+channel program can complete.
.It Fl t Ar instruction-limit
Execution time limit, in number of Lua instructions to execute.
If a channel program executes more than the specified number of instructions,
diff --git a/man/man1m/zfs.1m b/man/man1m/zfs.1m
index 8f3643995b3d..6f138940b293 100644
--- a/man/man1m/zfs.1m
+++ b/man/man1m/zfs.1m
@@ -267,6 +267,7 @@
.Ar snapshot Ar snapshot Ns | Ns Ar filesystem
.Nm
.Cm program
+.Op Fl n
.Op Fl t Ar timeout
.Op Fl m Ar memory_limit
.Ar pool script
@@ -3408,6 +3409,7 @@ Display the path's inode change time as the first column of output.
.It Xo
.Nm
.Cm program
+.Op Fl n
.Op Fl t Ar timeout
.Op Fl m Ar memory_limit
.Ar pool script
@@ -3427,8 +3429,15 @@ Channel programs may only be run with root privileges.
.sp
For full documentation of the ZFS channel program interface, see the manual
page for
-.Xr zfs-program 1M .
.Bl -tag -width ""
+.It Fl n
+Executes a read-only channel program, which runs faster.
+The program cannot change on-disk state by calling functions from
+the zfs.sync submodule.
+The program can be used to gather information such as properties and
+determining if changes would succeed (zfs.check.*).
+Without this flag, all pending changes must be synced to disk before
+a channel program can complete.
.It Fl t Ar timeout
Execution time limit, in milliseconds.
If a channel program executes for longer than the provided timeout, it will