From 7d5cd71da6987565d19701b1d102f882f659b815 Mon Sep 17 00:00:00 2001 From: Martin Matuska Date: Sun, 8 Apr 2012 13:16:46 -0400 Subject: [PATCH] Illumos #1346: zfs incremental receive may leave behind temporary clones 1356 zfs dataset prefetch code not working Reviewed by: Matthew Ahrens Reviewed by: Dan McDonald Approved by: Gordon Ross References to Illumos issue: https://www.illumos.org/issues/1346 https://www.illumos.org/issues/1356 Ported-by: Richard Yao Signed-off-by: Brian Behlendorf Closes #647 --- module/zfs/zfs_ioctl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c index 90ebb57116..17dc35d74c 100644 --- a/module/zfs/zfs_ioctl.c +++ b/module/zfs/zfs_ioctl.c @@ -1923,8 +1923,10 @@ top: uint64_t cookie = 0; int len = sizeof (zc->zc_name) - (p - zc->zc_name); - while (dmu_dir_list_next(os, len, p, NULL, &cookie) == 0) - (void) dmu_objset_prefetch(p, NULL); + while (dmu_dir_list_next(os, len, p, NULL, &cookie) == 0) { + if (!dataset_name_hidden(zc->zc_name)) + (void) dmu_objset_prefetch(zc->zc_name, NULL); + } } do {