mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 04:12:43 +00:00 
			
		
		
		
	Kernel: Update the ".." inode for directories after a rename
Because the ".." entry in a directory is a separate inode, if a directory is renamed to a new location, then we should update this entry the point to the new parent directory as well. Co-authored-by: Liav A <liavalb@gmail.com>
This commit is contained in:
		
							parent
							
								
									2b246d980a
								
							
						
					
					
						commit
						3b03077abb
					
				
					 18 changed files with 128 additions and 0 deletions
				
			
		|  | @ -47,4 +47,9 @@ ErrorOr<void> ProcFSInode::chown(UserID, GroupID) | |||
|     return EPERM; | ||||
| } | ||||
| 
 | ||||
| ErrorOr<void> ProcFSInode::replace_child(StringView, Inode&) | ||||
| { | ||||
|     return EROFS; | ||||
| } | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -33,6 +33,7 @@ protected: | |||
|     virtual ErrorOr<NonnullLockRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, UserID, GroupID) override final; | ||||
|     virtual ErrorOr<void> add_child(Inode&, StringView name, mode_t) override final; | ||||
|     virtual ErrorOr<void> remove_child(StringView name) override final; | ||||
|     virtual ErrorOr<void> replace_child(StringView name, Inode& child) override final; | ||||
|     virtual ErrorOr<void> chmod(mode_t) override final; | ||||
|     virtual ErrorOr<void> chown(UserID, GroupID) override final; | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 sin-ack
						sin-ack