mirror of
				https://git.proxmox.com/git/mirror_zfs
				synced 2025-10-31 16:53:51 +00:00 
			
		
		
		
	 4e9b156960
			
		
	
	
		4e9b156960
		
	
	
	
	
		
			
			* Teach ZED to handle spares usingi the configured ashift: if the zpool 'ashift' property is set then ZED should use its value when kicking in a hotspare; with this change 512e disks can be used as spares for VDEVs that were created with ashift=9, even if ZFS natively detects them as 4K block devices. * Introduce an additional auto_spare test case which verifies that in the face of multiple device failures an appropiate number of spares are kicked in. * Fix zed_stop() in "libtest.shlib" which did not correctly wait the target pid. * Fix ZED crashing on startup caused by a race condition in libzfs when used in multi-threaded context. * Convert ZED over to using the tpool library which is already present in the Illumos FMA code. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #2562 Closes #6858
		
			
				
	
	
		
			47 lines
		
	
	
		
			1003 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1003 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * CDDL HEADER START
 | |
|  *
 | |
|  * The contents of this file are subject to the terms of the
 | |
|  * Common Development and Distribution License Version 1.0 (CDDL-1.0).
 | |
|  * You can obtain a copy of the license from the top-level file
 | |
|  * "OPENSOLARIS.LICENSE" or at <http://opensource.org/licenses/CDDL-1.0>.
 | |
|  * You may not use this file except in compliance with the license.
 | |
|  *
 | |
|  * CDDL HEADER END
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * Copyright (c) 2016, Intel Corporation.
 | |
|  */
 | |
| 
 | |
| #ifndef	ZFS_AGENTS_H
 | |
| #define	ZFS_AGENTS_H
 | |
| 
 | |
| #include <libzfs.h>
 | |
| #include <libnvpair.h>
 | |
| 
 | |
| 
 | |
| #ifdef	__cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /*
 | |
|  * Agent abstraction presented to ZED
 | |
|  */
 | |
| extern void zfs_agent_init(libzfs_handle_t *);
 | |
| extern void zfs_agent_fini(void);
 | |
| extern void zfs_agent_post_event(const char *, const char *, nvlist_t *);
 | |
| 
 | |
| /*
 | |
|  * ZFS Sysevent Linkable Module (SLM)
 | |
|  */
 | |
| extern int zfs_slm_init(void);
 | |
| extern void zfs_slm_fini(void);
 | |
| extern void zfs_slm_event(const char *, const char *, nvlist_t *);
 | |
| 
 | |
| #ifdef	__cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif	/* !ZFS_AGENTS_H */
 |