1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-17 15:27:36 +00:00
freebsd/lib
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
..
libctf/common Update vendor/illumos/dist to 14148:fe28bd725808: 2013-08-23 23:34:54 +00:00
libdtrace 8269 dtrace stddev aggregation is normalized incorrectly 2017-06-09 15:04:10 +00:00
libgen/common Update DTrace userland code to the latest available. 2010-08-02 12:13:33 +00:00
libnvpair 5752 dump_nvlist() is not aware of boolean array 2016-11-02 17:33:22 +00:00
libuutil/common Update vendor/illumos/dist to pre libzfs_core state (zfs part) 2012-07-18 10:19:51 +00:00
libzfs/common 7431 ZFS Channel Programs 2017-09-13 10:45:49 +00:00
libzfs_core/common 7431 ZFS Channel Programs 2017-09-13 10:45:49 +00:00
libzpool/common 7431 ZFS Channel Programs 2017-09-13 10:45:49 +00:00
pyzfs/common 4369 implement zfs bookmarks 2014-01-01 01:15:53 +00:00