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
Darren J Moffat wrote:> Does the ARC get flushed for a dataset when it is unmounted ?Yes> What does change when a dataset is unmounted ? >Pretty much everything associated with the dataset should be evicted... its possible that some of the meta-data may hang around I suppose (I don''t remember off-hand).> 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.Could be that this meta data does not get evicted at unmount.> > -- > Darren J Moffat > _______________________________________________ > zfs-code mailing list > zfs-code at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-code
Mark Maybee wrote:>> 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!.I also did a zpool scrub in here and it was clean.>> 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.After this EIO happens zpool status says that the dataset has an error :-( -- Darren J Moffat
Reasonably Related Threads
- [PATCH] 1. changes for vdiskadm on illumos based platform
- [Bug 1986] New: ''zfs destroy'' hangs on encrypted dataset
- [Spice-devel] [PATCH] Revert "drm/qxl: drop prime import/export callbacks"
- [Spice-devel] [PATCH] Revert "drm/qxl: drop prime import/export callbacks"
- ZFS core contributor nominations