mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	FreeBSD: notify userspace when a vdev is removed
This is needed for zfsd to autoreplace vdevs. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #11260
This commit is contained in:
		
							parent
							
								
									ed02d603a1
								
							
						
					
					
						commit
						7735c9addf
					
				| @ -181,6 +181,8 @@ zfs_agent_post_event(const char *class, const char *subclass, nvlist_t *nvl) | ||||
| 	 * from the vdev_disk layer after a hot unplug. Fortunately we do | ||||
| 	 * get an EC_DEV_REMOVE from our disk monitor and it is a suitable | ||||
| 	 * proxy so we remap it here for the benefit of the diagnosis engine. | ||||
| 	 * Starting in OpenZFS 2.0, we do get FM_RESOURCE_REMOVED from the spa | ||||
| 	 * layer. Processing multiple FM_RESOURCE_REMOVED events is not harmful. | ||||
| 	 */ | ||||
| 	if ((strcmp(class, EC_DEV_REMOVE) == 0) && | ||||
| 	    (strcmp(subclass, ESC_DISK) == 0) && | ||||
|  | ||||
| @ -7903,6 +7903,9 @@ spa_async_remove(spa_t *spa, vdev_t *vd) | ||||
| 		vd->vdev_stat.vs_checksum_errors = 0; | ||||
| 
 | ||||
| 		vdev_state_dirty(vd->vdev_top); | ||||
| 
 | ||||
| 		/* Tell userspace that the vdev is gone. */ | ||||
| 		zfs_post_remove(spa, vd); | ||||
| 	} | ||||
| 
 | ||||
| 	for (int c = 0; c < vd->vdev_children; c++) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Ryan Moeller
						Ryan Moeller