]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit - sys/mips/rt305x/rt_swreg.h
MFV r323530,r323533,r323534: 7431 ZFS Channel Programs, and followups
authoravg <avg@FreeBSD.org>
Sun, 1 Oct 2017 16:11:07 +0000 (16:11 +0000)
committeravg <avg@FreeBSD.org>
Sun, 1 Oct 2017 16:11:07 +0000 (16:11 +0000)
commit6b319ae2aabfa0a0bc36cb18c2677e01ecf822f8
tree23129537484d4877bf645ab1ade8ece8d4dc08c9
parentbf2ec7436a59b600719913863b5f5c380954982e
parent3d7ca9dbd343010932aa2a80742fd31843b9737d
MFV r323530,r323533,r323534: 7431 ZFS Channel Programs, and followups

7431 ZFS Channel Programs

illumos/illumos-gate@dfc115332c94a2f62058ac7f2bce7631fbd20b3d
https://github.com/illumos/illumos-gate/commit/dfc115332c94a2f62058ac7f2bce7631fbd20b3d

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

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>

8552 ZFS LUA code uses floating point math

illumos/illumos-gate@916c8d881190bd2c3ca20d9fca919aecff504435
https://github.com/illumos/illumos-gate/commit/916c8d881190bd2c3ca20d9fca919aecff504435

https://www.illumos.org/issues/8552
  In the LUA interpreter used by "zfs program", the lua format() function
  accidentally includes support for '%f' and friends, which can cause compilation
  problems when building on platforms that don't support floating-point math in
  the kernel (e.g. sparc). Support for '%f' friends (%f %e %E %g %G) should be
  removed, since there's no way to supply a floating-point value anyway (all
  numbers in ZFS LUA are int64_t's).

Reviewed by: Yuri Pankov <yuripv@gmx.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>

8590 memory leak in dsl_destroy_snapshots_nvl()

illumos/illumos-gate@e6ab4525d156c82445c116ecf6b2b874d5e9009d
https://github.com/illumos/illumos-gate/commit/e6ab4525d156c82445c116ecf6b2b874d5e9009d

https://www.illumos.org/issues/8590
  In dsl_destroy_snapshots_nvl(), "snaps_normalized" is not freed after it is
  added to "arg".

Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Steve Gonczi <steve.gonczi@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>

FreeBSD notes:
- zfs-program.8 manual page is taken almost as is from the vendor repository,
  no FreeBSD-ification done
- fixed multiple instances of NULL being used where an integer is expected
- replaced ETIME and ECHRNG with ETIMEDOUT and EDOM respectively

This commit adds a modified version of Lua 5.2.4 under
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua, mirroring the
upstream.  See README.zfs in that directory for the description of Lua
customizations.
See zfs-program.8 on how to use the new feature.

MFC after: 5 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D12528
92 files changed:
cddl/contrib/opensolaris/cmd/zfs/zfs-program.8
cddl/contrib/opensolaris/cmd/zfs/zfs.8
cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c
cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h
cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
cddl/lib/libzpool/Makefile
cddl/sbin/zfs/Makefile
sys/cddl/compat/opensolaris/kern/opensolaris_sunddi.c
sys/cddl/compat/opensolaris/sys/sunddi.h
sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
sys/cddl/contrib/opensolaris/uts/common/Makefile.files
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/README.zfs
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lapi.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lapi.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lauxlib.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lauxlib.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lbaselib.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lbitlib.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lcode.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lcode.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lcompat.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lcorolib.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lctype.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lctype.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ldebug.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ldebug.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ldo.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ldo.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ldump.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lfunc.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lfunc.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lgc.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lgc.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/llex.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/llex.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/llimits.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lmem.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lmem.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lobject.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lobject.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lopcodes.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lopcodes.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lparser.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lparser.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lstate.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lstate.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lstring.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lstring.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lstrlib.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ltable.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ltable.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ltablib.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ltm.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/ltm.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lua.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/luaconf.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lualib.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lundump.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lundump.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lvm.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lvm.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lzio.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua/lzio.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_destroy.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_global.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_iter.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zcp_prop.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_get.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_global.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_iter.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_synctask.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
sys/conf/files
sys/conf/kern.pre.mk
sys/modules/zfs/Makefile