1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-17 15:27:36 +00:00
freebsd/common
Andriy Gapon bdc44f62ff 7431 ZFS Channel Programs
illumos/illumos-gate@dfc115332c
dfc115332c

https://www.illumos.org/issues/7431
  ZFS channel programs (ZCP) adds support for performing compound ZFS
  administrative actions via Lua scripts in a sandboxed environment (with time
  and memory limits).
  This initial commit includes both base support for running ZCP scripts, and a
  small initial library of API calls which support getting properties and
  listing, destroying, and promoting datasets.
  Testing: in addition to the included unit tests, channel programs have been in
  use at Delphix for several months for batch destroying filesystems. The
  dsl_destroy_snaps_nvl() call has also been replaced with

  For reference, the new zfs-program manpage is included below.
  ZFS-PROGRAM(1M)                       1M                       ZFS-PROGRAM(1M)

  NAME
       zfs program – executes ZFS channel programs

  SYNOPSIS
       zfs program [-t timeout] [-m memory-limit] pool script

  DESCRIPTION
       The ZFS channel program interface allows ZFS administrative operations to
       be run programmatically as a Lua script. The entire script is executed
       atomically, with no other administrative operations taking effect
       concurrently. A library of ZFS calls is made available to channel program
       scripts. Channel programs may only be run with root privileges.

       A modified version of the Lua 5.2 interpreter is used to run channel
       program scripts. The Lua 5.2 manual can be found at:

             http://www.lua.org/manual/5.2/
  ...

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Approved by: Garrett D'Amore <garrett@damore.org>
Author: Chris Williamson <chris.williamson@delphix.com>
2017-09-13 10:45:49 +00:00
..
acl 6762 POSIX write should imply DELETE_CHILD on directories - and 2016-05-11 12:58:12 +00:00
atomic 5043 remove deprecated atomic functions' prototypes 2014-08-20 06:20:06 +00:00
avl 6091 avl_add doesn't assert on non-debug builds 2015-09-11 20:43:14 +00:00
ctf 4474 DTrace Userland CTF Support 2014-06-03 01:24:46 +00:00
list Update vendor-sys/opensolaris to last OpenSolaris state (13149:b23a4dab3d50) 2012-07-18 08:12:04 +00:00
nvpair 7812 Remove gender specific language 2017-04-14 18:22:42 +00:00
unicode Update vendor-sys/opensolaris to last OpenSolaris state (13149:b23a4dab3d50) 2012-07-18 08:12:04 +00:00
util OS-1723 DTrace should speak JSON 2014-06-26 19:48:59 +00:00
zfs 7431 ZFS Channel Programs 2017-09-13 10:45:49 +00:00