by RJVB » Fri Feb 08, 2019 1:03 am
Let me clarify that I *can* unmount pools fully, just never with a single command.
Doesn't zfs.fs do more than just probing, can you even mount/read/write ZFS pools without it?
BTW, is there a magic command to get the zconfig and invariantdisk services to start automatically after a reboot, when you install from source? I find I always have to load their plists manually, and just realise that maybe just `sudo launchctl` keeps bits of my own environment:
```
> sudo launchctl load -w -F <zconfig.plist>
> sudo launchctl load -w -F <InvariantDisk.plist>
# now zpool import will find that pool on my external:
> zpool import
# now the kexts are loaded so we can set the settings I want
> sudo zsysctl -f <theSettings.conf>
```
About that last bit: it'd be nice to fix the race condition where you first need to load the kexts with their default settings before zsysctl can jump in to change those (and somehow zconfigd doesn't do its job here). Can't kexts load initial settings when they're being loaded?
Finally: I had a first KP yesterday that was clearly caused by ZFS and the use of an encrypted dataset. I have the backtrace, will need to create a report, but here's an outline of the events
- I'd had to do a powercycle about a week ago when the machine wouldn't wake after suspending it with my pool mounted (normally I export it so I can shut off the external and the Thunderbolt dock to which it's attached)
- I did something unrelated and stupid yesterday that required another powercycle, again with the pool mounted but AFAICT not in use
- The encrypted dataset holds a "private" Firefox profile and when I tried to use that after the reboot Firefox hung, couldn't be killed, so that was another unclean reboot.
- Rince repeat to confirm.
- On the 2nd or 3rd retry to confirm that everything worked except that private dataset I tried to `cp -prd` the entire dataset to a regular HFS+ volume. This is where I got the KP
- After reboot I logged in using `>console` and saw a ZFS error message (which I also saved) when mounting the private dataset.
- Copying the contents to elsewhere worked this time (I guess I should have mounted RO to be safe(r) but didn't)
- Destroyed and recreated the dataset and now all is fine again.