summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2011-10-21 11:49:36 -0400
committerMartin Matuska <mm@FreeBSD.org>2011-10-21 11:49:36 -0400
commit1df56ada43861dec046a93e1643fec1c4e7b2ed5 (patch)
treea026b6642502c6360ee560416d8fcfbe09348463 /usr/src
parentfe234e7c4899705de73738b92cd6d420b63447cd (diff)
downloadillumos-joyent-1df56ada43861dec046a93e1643fec1c4e7b2ed5.tar.gz
1346 zfs incremental receive may leave behind temporary clones
1356 zfs dataset prefetch code not working Reviewed by: Matthew Ahrens <matt@delphix.com> Reviewed by: Dan McDonald <danmcd@nexenta.com> Approved by: Gordon Ross <gwr@nexenta.com>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/fs/zfs/zfs_ioctl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/zfs/zfs_ioctl.c b/usr/src/uts/common/fs/zfs/zfs_ioctl.c
index 1b63c9bf45..486ae9506d 100644
--- a/usr/src/uts/common/fs/zfs/zfs_ioctl.c
+++ b/usr/src/uts/common/fs/zfs/zfs_ioctl.c
@@ -20,6 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Portions Copyright 2011 Martin Matuska
*/
#include <sys/types.h>
@@ -1943,8 +1944,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 {