From 20633e304b57bc98f70fdb194081b7023adf527b Mon Sep 17 00:00:00 2001 From: Paul Dagnelie Date: Thu, 24 May 2018 13:38:47 -0700 Subject: 9559 zfs diff handles files on delete queue in fromsnap poorly Reviewed by: Joshua M. Clulow Approved by: Richard Lowe --- usr/src/lib/libzfs/common/libzfs_diff.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'usr/src/lib') diff --git a/usr/src/lib/libzfs/common/libzfs_diff.c b/usr/src/lib/libzfs/common/libzfs_diff.c index b47b669e80..ad1fa67f1f 100644 --- a/usr/src/lib/libzfs/common/libzfs_diff.c +++ b/usr/src/lib/libzfs/common/libzfs_diff.c @@ -22,7 +22,7 @@ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. - * Copyright (c) 2015, 2017 by Delphix. All rights reserved. + * Copyright (c) 2015, 2018 by Delphix. All rights reserved. * Copyright 2016 Joyent, Inc. * Copyright 2016 Igor Kozhukhov */ @@ -49,7 +49,7 @@ #include "libzfs_impl.h" #define ZDIFF_SNAPDIR "/.zfs/snapshot/" -#define ZDIFF_SHARESDIR "/.zfs/shares/" +#define ZDIFF_SHARESDIR "/.zfs/shares/" #define ZDIFF_PREFIX "zfs-diff-%d" #define ZDIFF_ADDED '+' @@ -359,13 +359,13 @@ describe_free(FILE *fp, differ_info_t *di, uint64_t object, char *namebuf, if (get_stats_for_obj(di, di->fromsnap, object, namebuf, maxlen, &sb) != 0) { - /* Let it slide, if in the delete queue on from side */ - if (di->zerr == ENOENT && sb.zs_links == 0) { - di->zerr = 0; - return (0); - } return (-1); } + /* Don't print if in the delete queue on from side */ + if (di->zerr == ESTALE) { + di->zerr = 0; + return (0); + } print_file(fp, di, ZDIFF_REMOVED, namebuf, &sb); return (0); -- cgit v1.2.3