Does the ARC get flushed for a dataset when it is unmounted ?
What does change when a dataset is unmounted ?
The context of the problem is this:
create a pool,
provide the pool encryption key,
create a dataset with encryption turned on,
put data into that dataset
I see it getting encrypted and written to disk by zio_write,
zfs umount -a
zfs mount -a
I can read the data back - yeah!.
However if I export the pool and then reimport it the mount fails with
an IO error (and yes I did remember to give the pool the key again).
A little dtracing shows me that a zap_lookup of VERSION for the
encrypted dataset is returning EIO, that causes the mount to ultimately
fail.
--
Darren J Moffat