mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Some nvlist allocations in hold processing need to use KM_PUSHPAGE.
This should hopefully catch the rest of the allocations in the
user hold/release processing that were missed by commit
65c67ea86e.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1852
Closes #1855
			
			
This commit is contained in:
		
							parent
							
								
									119a394ab0
								
							
						
					
					
						commit
						f707635fa5
					
				| @ -260,7 +260,7 @@ dsl_dataset_user_hold_sync(void *arg, dmu_tx_t *tx) | |||||||
| 	uint64_t now = gethrestime_sec(); | 	uint64_t now = gethrestime_sec(); | ||||||
| 
 | 
 | ||||||
| 	if (dduha->dduha_minor != 0) | 	if (dduha->dduha_minor != 0) | ||||||
| 		tmpholds = fnvlist_alloc(); | 		VERIFY0(nvlist_alloc(&tmpholds, NV_UNIQUE_NAME, KM_PUSHPAGE)); | ||||||
| 	else | 	else | ||||||
| 		tmpholds = NULL; | 		tmpholds = NULL; | ||||||
| 	for (pair = nvlist_next_nvpair(dduha->dduha_chkholds, NULL); | 	for (pair = nvlist_next_nvpair(dduha->dduha_chkholds, NULL); | ||||||
| @ -315,7 +315,8 @@ dsl_dataset_user_hold(nvlist_t *holds, minor_t cleanup_minor, nvlist_t *errlist) | |||||||
| 		return (0); | 		return (0); | ||||||
| 
 | 
 | ||||||
| 	dduha.dduha_holds = holds; | 	dduha.dduha_holds = holds; | ||||||
| 	dduha.dduha_chkholds = fnvlist_alloc(); | 	VERIFY0(nvlist_alloc(&dduha.dduha_chkholds, NV_UNIQUE_NAME, | ||||||
|  | 		KM_PUSHPAGE)); | ||||||
| 	dduha.dduha_errlist = errlist; | 	dduha.dduha_errlist = errlist; | ||||||
| 	dduha.dduha_minor = cleanup_minor; | 	dduha.dduha_minor = cleanup_minor; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tim Chase
						Tim Chase