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) {