diff options
author | dim <dim@FreeBSD.org> | 2015-06-09 19:14:27 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-06-09 19:14:27 +0000 |
commit | 6370dd4a2cfcd7b1e323f780f34523097a892d0c (patch) | |
tree | 16a54540a7fb71a7c91fd866ad2437410acbf587 /sys/boot/zfs/zfsimpl.c | |
parent | 8c2b6d93700b452fac3cadba57de1b18a783ec92 (diff) | |
parent | 8fbb8a1dd51626b81ee23212d3001e3908ff17c4 (diff) | |
download | FreeBSD-src-6370dd4a2cfcd7b1e323f780f34523097a892d0c.zip FreeBSD-src-6370dd4a2cfcd7b1e323f780f34523097a892d0c.tar.gz |
Merged ^/head r283871 through r284187.
Diffstat (limited to 'sys/boot/zfs/zfsimpl.c')
-rw-r--r-- | sys/boot/zfs/zfsimpl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/boot/zfs/zfsimpl.c b/sys/boot/zfs/zfsimpl.c index 8d21c57..d889047 100644 --- a/sys/boot/zfs/zfsimpl.c +++ b/sys/boot/zfs/zfsimpl.c @@ -1255,6 +1255,10 @@ dnode_read(const spa_t *spa, const dnode_phys_t *dnode, off_t offset, void *buf, ibn = bn >> ((nlevels - i - 1) * ibshift); ibn &= ((1 << ibshift) - 1); bp = indbp[ibn]; + if (BP_IS_HOLE(&bp)) { + memset(dnode_cache_buf, 0, bsize); + break; + } rc = zio_read(spa, &bp, dnode_cache_buf); if (rc) return (rc); |