diff options
author | Alexander Motin <mav@FreeBSD.org> | 2018-01-21 19:26:38 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2018-01-21 19:26:38 +0000 |
commit | 619fd3c317c837859e9ca6759d29e1080e5263dc (patch) | |
tree | 0972ac4573a041779d15d018b172d34e2a5c0f17 /man | |
parent | 6ff83134aa4e0a6fe3fb44513bb4ace181f4f281 (diff) | |
download | src-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.1m | 13 | ||||
-rw-r--r-- | man/man1m/zfs.1m | 11 |
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 |