Update mountfs
This commit is contained in:
		
							parent
							
								
									821ea843ae
								
							
						
					
					
						commit
						b61188889d
					
				
							
								
								
									
										2
									
								
								deps/sefs
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								deps/sefs
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | ||||
| Subproject commit 5fd86adbfa0b173d10d5afebd871a237bf25f688 | ||||
| Subproject commit 6eaf1d2f50327631cf62a965f30d56ce40934c76 | ||||
| @ -75,7 +75,7 @@ pub fn open_root_fs_according_to( | ||||
| } | ||||
| 
 | ||||
| pub fn mount_nonroot_fs_according_to( | ||||
|     root: &MNode, | ||||
|     root: &Arc<dyn INode>, | ||||
|     mount_configs: &Vec<ConfigMount>, | ||||
|     user_key: &Option<sgx_key_128bit_t>, | ||||
| ) -> Result<()> { | ||||
| @ -123,11 +123,15 @@ pub fn mount_nonroot_fs_according_to( | ||||
|     Ok(()) | ||||
| } | ||||
| 
 | ||||
| pub fn mount_fs_at(fs: Arc<dyn FileSystem>, parent_inode: &MNode, abs_path: &Path) -> Result<()> { | ||||
|     let mut mount_dir = parent_inode.find(false, ".")?; | ||||
| pub fn mount_fs_at( | ||||
|     fs: Arc<dyn FileSystem>, | ||||
|     parent_inode: &Arc<dyn INode>, | ||||
|     abs_path: &Path, | ||||
| ) -> Result<()> { | ||||
|     let mut mount_dir = parent_inode.find(".")?; | ||||
|     // The first component of abs_path is the RootDir, skip it.
 | ||||
|     for dirname in abs_path.iter().skip(1) { | ||||
|         mount_dir = match mount_dir.find(false, dirname.to_str().unwrap()) { | ||||
|         mount_dir = match mount_dir.find(dirname.to_str().unwrap()) { | ||||
|             Ok(existing_dir) => { | ||||
|                 if existing_dir.metadata()?.type_ != FileType::Dir { | ||||
|                     return_errno!(EIO, "not a directory"); | ||||
| @ -137,7 +141,7 @@ pub fn mount_fs_at(fs: Arc<dyn FileSystem>, parent_inode: &MNode, abs_path: &Pat | ||||
|             Err(_) => return_errno!(ENOENT, "Mount point does not exist"), | ||||
|         }; | ||||
|     } | ||||
|     mount_dir.mount(fs); | ||||
|     mount_dir.downcast_ref::<MNode>().unwrap().mount(fs); | ||||
|     Ok(()) | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user