Solved Upgrade ZFS pool features -10.1 - watch out! landmine!

My ZFS on root FreeBSD 10 machine encouraged me to go forward to 10.1 as support for 10 was nearly ended. So I spent a day going through packages - upgrading etc, reboots and all -everything went pretty well.

Getting ready to do a snapshot - check the zpool status - hey it says there are some new features, and in a gently encouraging way. That sounds cool. Let's see whats offered!

Just do a ZFS pool upgrade for these and then, please do following command for boot to work, OK.

This is where the message should have said: "ARE YOU SURE YOU WANT TO SET A TIME BOMB IN YOUR COMPUTER? BACK OUT NOW!!" or perhaps " I SURE HOPE YOU BOUGHT A GOOD SERVERBOARD WITH REMOTE CONSOLE FEATURE.... OR YOUR GOING FOR A DRIVE, HA HA,HA HA!"

Well after the next boot - it didn't. after getting to it I see:
Code:
ZFS: unsupported feature: com.delphix:hole_birth
ZFS: unsupported feature: com.delphix:embedded_data
ZFS: unsupported feature: com.delphix:hole_birth
ZFS: unsupported feature: com.delphix:embedded_data
ZFS: unsupported feature: com.delphix:hole_birth
gptzfsboot: No ZFS pools located, can't boot
Well, I haven't resolved this yet, but be forewarned and perhaps the people who write in these feature upgrades might add a little more warning and a little less innocuous encouragement to use it.
 
  • Thanks
Reactions: Oko
Did you update the boot code on the disks? If the pool activates features that the gptzfsboot code doesn't support, it'll quite likely fail to boot off the pool.

Of course I don't quite know where in the upgrade process it tells you to make sure boot code is updated.
 
Did you update the boot code on the disks? If the pool activates features that the gptzfsboot code doesn't support, it'll quite likely fail to boot off the pool.

Of course I don't quite know where in the upgrade process it tells you to make sure boot code is updated.

Right after the upgrade it suggests running a line:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad0
which I did... now I am wondering if I typoe'd it on the drive, I recall pasting, backing up and retyping the end. Hmmmm.
 
If you typed exactly what you referenced above, you more than likely used the wrong device name. I believe the correct command would be:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 [B]ada0[/B] on FreeBSD 10.1-*
 
If you typed exactly what you referenced above, you more than likely used the wrong device name. I believe the correct command would be:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 [B]ada0[/B] on FreeBSD 10.1-*

Thanks! I think your right. I probably dropped the "a". Where do I fix this?
 
Boot off a 10.1 install CD, drop to a console, and run the command there.

OK thanks again, that did it! I guess the only sanity check against typos would be to know how to see the boot entry after committing it and checking for errors. Maybe I could have caught it before the reboot, but not sure how to look at that.
 
Thanks! I think your right. I probably dropped the "a". Where do I fix this?

The command is suggests is just a reminder with an example. That's why you have to add an "a". Assuming every disk in the pool is bootable the command would have to be run for each disk. Certainly a minor "gotcha" since we don't updated ZFS pool version everyday, hence the warning.

When I run it as is I do see an error.
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad0
Code:
gpart: No such geom: ad0.
 
I did not get an error. But that hardly means I did not make one. Memory, being what it is, I can't be sure what I did, but I am thinking a transposition or some such as da0 as opposed to ada0 but cannot be sure. I'm tempted to try a few variations now to see what would "pass". It happens there is a USB drive plugged in . . .da0? Probably.

I clipboard the example, then did a scroll back to through dmesg to verify the drive letters and wondered why my clipboarded example did comeback completely intact. After inputting what seemed the right command for my drive, which later DID save my system, I got no error, and I was looking for one. Hard to say. But the warning is valid for others to take heed, there is an opportunity to easily get in trouble here.
 
gpart show is what I usually do several times when fiddling with disks, to make sure I'm using the right device.
Thankfully, these gpart commands can be run anytime you need them.
 
Back
Top