Print this page
2605 want to resume interrupted zfs send
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed by: Xin Li <delphij@freebsd.org>
Reviewed by: Arne Jansen <sensille@gmx.net>
Approved by: Dan McDonald <danmcd@omniti.com>
re #13850 Refactor ZFS config discovery IOCs to libzfs_core patterns
*** 18,28 ****
*
* CDDL HEADER END
*/
/*
! * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2014 by Delphix. All rights reserved.
* Copyright 2015 Joyent, Inc.
*/
--- 18,28 ----
*
* CDDL HEADER END
*/
/*
! * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2014 by Delphix. All rights reserved.
* Copyright 2015 Joyent, Inc.
*/
*** 100,110 ****
#include "systable.h"
#include "proto.h"
void show_sigset(private_t *, long, const char *);
void show_ioctl(private_t *, int, long);
! void show_zfs_ioc(private_t *, long);
static void
mk_ctime(char *str, size_t maxsize, time_t value)
{
(void) strftime(str, maxsize, "%b %e %H:%M:%S %Z %Y",
--- 100,110 ----
#include "systable.h"
#include "proto.h"
void show_sigset(private_t *, long, const char *);
void show_ioctl(private_t *, int, long);
! void show_zfs_ioc(private_t *, long, int);
static void
mk_ctime(char *str, size_t maxsize, time_t value)
{
(void) strftime(str, maxsize, "%b %e %H:%M:%S %Z %Y",
*** 1486,1496 ****
show_audio_info(pri, offset);
break;
default:
if ((code & ~0xff) == ZFS_IOC) {
! show_zfs_ioc(pri, offset);
break;
}
if (code & IOC_INOUT) {
const char *str = ioctldatastruct(code);
--- 1486,1496 ----
show_audio_info(pri, offset);
break;
default:
if ((code & ~0xff) == ZFS_IOC) {
! show_zfs_ioc(pri, offset, err);
break;
}
if (code & IOC_INOUT) {
const char *str = ioctldatastruct(code);
*** 4872,4882 ****
break;
}
}
void
! show_zfs_ioc(private_t *pri, long addr)
{
static const zfs_share_t zero_share = {0};
static const dmu_objset_stats_t zero_objstats = {0};
static const struct drr_begin zero_drrbegin = {0};
static const zinject_record_t zero_injectrec = {0};
--- 4872,4882 ----
break;
}
}
void
! show_zfs_ioc(private_t *pri, long addr, int err)
{
static const zfs_share_t zero_share = {0};
static const dmu_objset_stats_t zero_objstats = {0};
static const struct drr_begin zero_drrbegin = {0};
static const zinject_record_t zero_injectrec = {0};
*** 4907,4920 ****
--- 4907,4925 ----
(void) printf(" nvlist_src:\n");
show_packed_nvlist(pri, zc.zc_nvlist_src,
zc.zc_nvlist_src_size);
}
if (zc.zc_nvlist_dst_size) {
+ if (zc.zc_nvlist_dst_filled) {
(void) printf(" nvlist_dst:\n");
show_packed_nvlist(pri, zc.zc_nvlist_dst,
zc.zc_nvlist_dst_size);
+ } else if (err == ENOMEM) {
+ (void) printf(" nvlist_dst_size: %llu\n",
+ (u_longlong_t)zc.zc_nvlist_dst_size);
}
+ }
if (zc.zc_cookie != 0) {
(void) printf(" zc_cookie=%llu\n",
(u_longlong_t)zc.zc_cookie);
}
if (zc.zc_objset_type != 0) {