diff options
Diffstat (limited to 'cmd/zfs/zfs_main.c')
-rw-r--r-- | cmd/zfs/zfs_main.c | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/cmd/zfs/zfs_main.c b/cmd/zfs/zfs_main.c index 82b91754e..150bebd32 100644 --- a/cmd/zfs/zfs_main.c +++ b/cmd/zfs/zfs_main.c @@ -4408,24 +4408,6 @@ zfs_do_send(int argc, char **argv) if (!(flags.replicate || flags.doall)) { char frombuf[ZFS_MAX_DATASET_NAME_LEN]; - if (redactbook != NULL) { - if (strchr(argv[0], '@') == NULL) { - (void) fprintf(stderr, gettext("Error: Cannot " - "do a redacted send to a filesystem.\n")); - return (1); - } - if (strchr(redactbook, '#') != NULL) { - (void) fprintf(stderr, gettext("Error: " - "redaction bookmark argument must " - "not contain '#'\n")); - return (1); - } - } - - zhp = zfs_open(g_zfs, argv[0], ZFS_TYPE_DATASET); - if (zhp == NULL) - return (1); - if (fromname != NULL && (strchr(fromname, '#') == NULL && strchr(fromname, '@') == NULL)) { /* @@ -4454,6 +4436,10 @@ zfs_do_send(int argc, char **argv) (void) strlcat(frombuf, tmpbuf, sizeof (frombuf)); fromname = frombuf; } + + zhp = zfs_open(g_zfs, argv[0], ZFS_TYPE_DATASET); + if (zhp == NULL) + return (1); err = zfs_send_one(zhp, fromname, STDOUT_FILENO, &flags, redactbook); zfs_close(zhp); |