Hey...

So in zfs-crypto land we are finding one of our properties is caching and not 
being updated for the 'zfs' command to finish.

Here's the situation:

We start off with an encrypted dataset that has a "keystatus" property of 
"unavailable".  The keystatus is the load status of the key. We now load the 
key for an encrypted dataset via the new 'zfs key -l' command.  The libzfs 
function does an ioctl to the kernel to load the key data and additionally sets 
the "keystatus" property to "available". 

The problem happens, and this is all in the same process, after the ioctl has 
finished with a successful key load and we are back in the libzfs code, a 
mounting operation is done on the dataset which calls a check (in 
zfs_is_mountable) on the "keystatus".  The "keystatus" property still has the 
old value of "unavailable".  But we are certain the property has been changed.  
When a followup command (separate process) of 'zfs mount' is run it succeeds 
and 'zfs get keysource' reports the status as "available".

Is there a function call required in the kernel to refresh the properties?  
Does the library need to refresh the properties, if so is there an existing 
function to do that?  Or are we seeing a bug somewhere?

thanks

Tony
--
This messages posted from opensolaris.org

Reply via email to