diff options
author | Martin Matuska <mm@FreeBSD.org> | 2011-10-21 11:49:36 -0400 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2011-10-21 11:49:36 -0400 |
commit | 1df56ada43861dec046a93e1643fec1c4e7b2ed5 (patch) | |
tree | a026b6642502c6360ee560416d8fcfbe09348463 /usr/src | |
parent | fe234e7c4899705de73738b92cd6d420b63447cd (diff) | |
download | illumos-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.c | 7 |
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 { |