mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:52:45 +00:00 
			
		
		
		
	Kernel/VirtualFileSystem: Count bind mounts towards normal FS mountcount
This is correct since unmount doesn't treat bind mounts specially. If we don't do this, unmounting bind mounts will call prepare_for_last_unmount() on the guest FS much too early, which will most likely fail due to a busy file system.
This commit is contained in:
		
							parent
							
								
									251b17085b
								
							
						
					
					
						commit
						abc1eaff36
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		|  | @ -217,6 +217,9 @@ ErrorOr<void> VirtualFileSystem::bind_mount(Custody& source, Custody& mount_poin | |||
|             return EBUSY; | ||||
|         } | ||||
| 
 | ||||
|         // A bind mount also counts as a normal mount from the perspective of unmount(),
 | ||||
|         // so we need to keep track of it in order for prepare_to_clear_last_mount() to work properly.
 | ||||
|         new_mount->guest_fs().mounted_count({}).with([&](auto& count) { count++; }); | ||||
|         // NOTE: Leak the mount pointer so it can be added to the mount list, but it won't be
 | ||||
|         // deleted after being added.
 | ||||
|         mounts.append(*new_mount.leak_ptr()); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 kleines Filmröllchen
						kleines Filmröllchen