summaryrefslogtreecommitdiffstats
path: root/module/zfs
diff options
context:
space:
mode:
authorMartin Matuska <[email protected]>2012-04-08 13:16:46 -0400
committerBrian Behlendorf <[email protected]>2012-04-11 12:02:27 -0700
commit7d5cd71da6987565d19701b1d102f882f659b815 (patch)
tree9489514b0c3450e696c931f125d3611ba7409798 /module/zfs
parent22cd4a465349618a415802f28146653a93bb4594 (diff)
Illumos #1346: zfs incremental receive may leave behind temporary clones
1356 zfs dataset prefetch code not working Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: Dan McDonald <[email protected]> Approved by: Gordon Ross <[email protected]> References to Illumos issue: https://www.illumos.org/issues/1346 https://www.illumos.org/issues/1356 Ported-by: Richard Yao <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #647
Diffstat (limited to 'module/zfs')
-rw-r--r--module/zfs/zfs_ioctl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c
index 90ebb5711..17dc35d74 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 {