summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr/src/psm/stand/bootblks/zfs/common/zfs.fth5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr/src/psm/stand/bootblks/zfs/common/zfs.fth b/usr/src/psm/stand/bootblks/zfs/common/zfs.fth
index 569a845f08..72a0a4ae4e 100644
--- a/usr/src/psm/stand/bootblks/zfs/common/zfs.fth
+++ b/usr/src/psm/stand/bootblks/zfs/common/zfs.fth
@@ -500,7 +500,10 @@ new-device
\ block read that check for holes, gangs, compression, etc
: read-bp ( adr len bp -- )
\ sparse block?
- dup blk_birth x0= if
+ dup x@ x0= ( addr len bp flag0 )
+ swap dup 8 + x@ x0= ( addr len flag0 bp flag1 )
+ rot ( addr len bp flag1 flag0 )
+ and if
drop erase exit ( )
then