mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Make spa_history_zone platform-dependent in kernel
This function should only return "linux" on Linux. Move the kernel part of the function out of common code. Fix the tests for FreeBSD. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #10079
This commit is contained in:
		
							parent
							
								
									1289fbb557
								
							
						
					
					
						commit
						9bb907bc3f
					
				| @ -447,6 +447,7 @@ extern void spa_event_post(sysevent_t *ev); | ||||
| extern int param_set_deadman_failmode_common(const char *val); | ||||
| extern void spa_set_deadman_synctime(hrtime_t ns); | ||||
| extern void spa_set_deadman_ziotime(hrtime_t ns); | ||||
| extern const char *spa_history_zone(void); | ||||
| 
 | ||||
| #ifdef	__cplusplus | ||||
| } | ||||
|  | ||||
| @ -102,3 +102,9 @@ param_set_slop_shift(const char *buf, zfs_kernel_param_t *kp) | ||||
| 
 | ||||
| 	return (0); | ||||
| } | ||||
| 
 | ||||
| const char * | ||||
| spa_history_zone(void) | ||||
| { | ||||
| 	return ("linux"); | ||||
| } | ||||
|  | ||||
| @ -180,16 +180,6 @@ spa_history_write(spa_t *spa, void *buf, uint64_t len, spa_history_phys_t *shpp, | ||||
| 	return (0); | ||||
| } | ||||
| 
 | ||||
| static char * | ||||
| spa_history_zone(void) | ||||
| { | ||||
| #ifdef _KERNEL | ||||
| 	return ("linux"); | ||||
| #else | ||||
| 	return (NULL); | ||||
| #endif | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Post a history sysevent. | ||||
|  * | ||||
| @ -622,6 +612,14 @@ spa_history_log_version(spa_t *spa, const char *operation, dmu_tx_t *tx) | ||||
| 	    u->nodename, u->release, u->version, u->machine); | ||||
| } | ||||
| 
 | ||||
| #ifndef _KERNEL | ||||
| const char * | ||||
| spa_history_zone(void) | ||||
| { | ||||
| 	return (NULL); | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| #if defined(_KERNEL) | ||||
| EXPORT_SYMBOL(spa_history_create_obj); | ||||
| EXPORT_SYMBOL(spa_history_get); | ||||
|  | ||||
| @ -51,11 +51,11 @@ function run_and_verify | ||||
| 	fullcmd="$1" | ||||
| 	flags="$2" | ||||
| 
 | ||||
| 	if is_linux; then | ||||
| 	if is_illumos; then | ||||
| 		histcmd=$(echo $fullcmd | sed 's/\/usr\/sbin\///g') | ||||
| 	else | ||||
| 		histcmd=$(echo $fullcmd | sed 's/^.*\/\(zpool .*\).*$/\1/') | ||||
| 		histcmd=$(echo $histcmd | sed 's/^.*\/\(zfs .*\).*$/\1/') | ||||
| 	else | ||||
| 		histcmd=$(echo $fullcmd | sed 's/\/usr\/sbin\///g') | ||||
| 	fi | ||||
| 
 | ||||
| 	cmd=$(echo $histcmd | awk '{print $1}') | ||||
| @ -112,10 +112,11 @@ function verify_long | ||||
| 	typeset suffix="" | ||||
| 	if is_linux; then | ||||
| 		suffix=":linux" | ||||
| 	elif is_freebsd; then | ||||
| 		suffix=":freebsd" | ||||
| 	fi | ||||
| 
 | ||||
| 	grep "$cmd \[user $uid ($user) on $hname$suffix\]" \ | ||||
| 	    $NEW_HISTORY >/dev/null 2>&1 | ||||
| 	grep -q "$cmd \[user $uid ($user) on $hname$suffix\]" $NEW_HISTORY | ||||
| 	if [[ $? != 0 ]]; then | ||||
| 		log_note "Couldn't find long information for \"$cmd\"" | ||||
| 		return 1 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Ryan Moeller
						Ryan Moeller