aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2017-10-01 16:51:05 +0000
committerAndriy Gapon <avg@FreeBSD.org>2017-10-01 16:51:05 +0000
commit3e52a0557016274d28435293f859ca4a31a156d9 (patch)
treec2287ffa1e94be9624a939c186aa15500eda9221
parent0bd904ed4730e481c5ad0dffc27794ec6ac70cfc (diff)
parentde90fd216825a6aa001663d4e64eab0374b15933 (diff)
downloadsrc-3e52a0557016274d28435293f859ca4a31a156d9.tar.gz
src-3e52a0557016274d28435293f859ca4a31a156d9.zip
MFV r323794: 8605 zfs channel programs: zfs.exists undocumented and non-working
illumos/illumos-gate@5f39f884e2035d671ec02148fc4d8420c670bcb4 https://github.com/illumos/illumos-gate/commit/5f39f884e2035d671ec02148fc4d8420c670bcb4 https://www.illumos.org/issues/8605 zfs.exists() in channel programs doesn't return any result, and should have a man page entry. Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Reviewed by: Matt Ahrens <mahrens@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Author: Chris Williamson <chris.williamson@delphix.com> MFC after: 5 weeks X-MFC after: r324163
Notes
Notes: svn path=/head/; revision=324170
-rw-r--r--cddl/contrib/opensolaris/cmd/zfs/zfs-program.812
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c2
2 files changed, 13 insertions, 1 deletions
diff --git a/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8 b/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8
index 8b47d5f3aa4c..c6680978193f 100644
--- a/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8
+++ b/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8
@@ -289,6 +289,18 @@ msg (string)
.Bd -ragged -compact -offset "xxxx"
Debug message to be printed.
.Ed
+.It Em zfs.exists(dataset)
+Returns true if the given dataset exists, or false if it doesn't.
+A fatal error will be thrown if the dataset is not in the target pool.
+That is, in a channel program running on rpool,
+zfs.exists("rpool/nonexistent_fs") returns false, but
+zfs.exists("somepool/fs_that_may_exist") will error.
+.Pp
+dataset (string)
+.Bd -ragged -compact -offset "xxxx"
+Dataset to check for existence.
+Must be in the target pool.
+.Ed
.It Em zfs.get_prop(dataset, property)
Returns two values.
First, a string, number or table containing the property value for the given
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c
index e0c39a819fbf..0d8e16fbee8f 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c
@@ -717,7 +717,7 @@ zcp_exists(lua_State *state)
return (luaL_error(state, "unexpected error %d", error));
}
- return (0);
+ return (1);
}
/*