sequenceDiagram
box fuse3[external]
participant ext_search as lookup
end
box linux.rs
participant lnx_search as EncryptedFsFuse3::lookup
participant chk_access as check_access
end
box encryptedfs.rs
participant enc_search as EncryptedFs::find_by_name
participant get_attr as EncryptedFs::get_attr
end
box crypto.rs
participant hash_fn as hash_file_name
participant cr_read as create_read
%% participant create_dir as fs::create_directory
end
box bincode[external]
participant des_from as deserialize_from
end
ext_search -->> lnx_search : [parent_inode,name]
lnx_search -->> get_attr : [parent_inode]
get_attr -->> lnx_search : [parent_attributes]
lnx_search -->> chk_access :
chk_access -->> lnx_search :
lnx_search -->> enc_search : [parent_inode, name]
enc_search -->> hash_fn : [name]
hash_fn -->> enc_search : [hashed_name]
alt is directory
enc_search -->> lnx_search : [no attributes]
lnx_search -->> ext_search : [no atrributes]
else is file
enc_search -->> cr_read : [hashed_name]
cr_read -->> enc_search : [enc_reader]
enc_search -->> des_from : [enc_reader]
des_from -->> enc_search : [file_inode]
enc_search -->> lnx_search : [file_attributes]
lnx_search -->> ext_search : [file_attributes]
end