usr/src/uts/common/fs/zfs/dmu_traverse.c
changeset 11935 538c866aaac6
parent 11724 a2728800460e
child 12296 7cf402a7f374
--- a/usr/src/uts/common/fs/zfs/dmu_traverse.c	Tue Mar 16 06:44:44 2010 -0700
+++ b/usr/src/uts/common/fs/zfs/dmu_traverse.c	Tue Mar 16 09:43:38 2010 -0600
@@ -33,6 +33,8 @@
 #include <sys/spa.h>
 #include <sys/zio.h>
 #include <sys/dmu_impl.h>
+#include <sys/sa.h>
+#include <sys/sa_impl.h>
 #include <sys/callb.h>
 
 struct prefetch_data {
@@ -273,6 +275,17 @@
 				break;
 			lasterr = err;
 		}
+		if (dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR) {
+			SET_BOOKMARK(&czb, objset,
+			    object, 0, DMU_SPILL_BLKID);
+			err = traverse_visitbp(td, dnp, buf,
+			    (blkptr_t *)&dnp->dn_spill, &czb);
+			if (err) {
+				if (!hard)
+					break;
+				lasterr = err;
+			}
+		}
 	}
 	return (err != 0 ? err : lasterr);
 }