mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	xfs: remove kmem_realloc()
Remove kmem_realloc() function and convert its users to use MM API directly (krealloc()) Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
		
							parent
							
								
									f4d51dffc6
								
							
						
					
					
						commit
						771915c4f6
					
				
					 7 changed files with 8 additions and 32 deletions
				
			
		|  | @ -93,25 +93,3 @@ kmem_alloc_large(size_t size, xfs_km_flags_t flags) | |||
| 		return ptr; | ||||
| 	return __kmem_vmalloc(size, flags); | ||||
| } | ||||
| 
 | ||||
| void * | ||||
| kmem_realloc(const void *old, size_t newsize, xfs_km_flags_t flags) | ||||
| { | ||||
| 	int	retries = 0; | ||||
| 	gfp_t	lflags = kmem_flags_convert(flags); | ||||
| 	void	*ptr; | ||||
| 
 | ||||
| 	trace_kmem_realloc(newsize, flags, _RET_IP_); | ||||
| 
 | ||||
| 	do { | ||||
| 		ptr = krealloc(old, newsize, lflags); | ||||
| 		if (ptr || (flags & KM_MAYFAIL)) | ||||
| 			return ptr; | ||||
| 		if (!(++retries % 100)) | ||||
| 			xfs_err(NULL, | ||||
| 	"%s(%u) possible memory allocation deadlock size %zu in %s (mode:0x%x)", | ||||
| 				current->comm, current->pid, | ||||
| 				newsize, __func__, lflags); | ||||
| 		congestion_wait(BLK_RW_ASYNC, HZ/50); | ||||
| 	} while (1); | ||||
| } | ||||
|  |  | |||
|  | @ -59,7 +59,6 @@ kmem_flags_convert(xfs_km_flags_t flags) | |||
| extern void *kmem_alloc(size_t, xfs_km_flags_t); | ||||
| extern void *kmem_alloc_io(size_t size, int align_mask, xfs_km_flags_t flags); | ||||
| extern void *kmem_alloc_large(size_t size, xfs_km_flags_t); | ||||
| extern void *kmem_realloc(const void *, size_t, xfs_km_flags_t); | ||||
| static inline void  kmem_free(const void *ptr) | ||||
| { | ||||
| 	kvfree(ptr); | ||||
|  |  | |||
|  | @ -603,7 +603,7 @@ xfs_iext_realloc_root( | |||
| 	if (new_size / sizeof(struct xfs_iext_rec) == RECS_PER_LEAF) | ||||
| 		new_size = NODE_SIZE; | ||||
| 
 | ||||
| 	new = kmem_realloc(ifp->if_u1.if_root, new_size, KM_NOFS); | ||||
| 	new = krealloc(ifp->if_u1.if_root, new_size, GFP_NOFS | __GFP_NOFAIL); | ||||
| 	memset(new + ifp->if_bytes, 0, new_size - ifp->if_bytes); | ||||
| 	ifp->if_u1.if_root = new; | ||||
| 	cur->leaf = new; | ||||
|  |  | |||
|  | @ -386,8 +386,8 @@ xfs_iroot_realloc( | |||
| 		cur_max = xfs_bmbt_maxrecs(mp, ifp->if_broot_bytes, 0); | ||||
| 		new_max = cur_max + rec_diff; | ||||
| 		new_size = XFS_BMAP_BROOT_SPACE_CALC(mp, new_max); | ||||
| 		ifp->if_broot = kmem_realloc(ifp->if_broot, new_size, | ||||
| 				KM_NOFS); | ||||
| 		ifp->if_broot = krealloc(ifp->if_broot, new_size, | ||||
| 					 GFP_NOFS | __GFP_NOFAIL); | ||||
| 		op = (char *)XFS_BMAP_BROOT_PTR_ADDR(mp, ifp->if_broot, 1, | ||||
| 						     ifp->if_broot_bytes); | ||||
| 		np = (char *)XFS_BMAP_BROOT_PTR_ADDR(mp, ifp->if_broot, 1, | ||||
|  | @ -496,8 +496,8 @@ xfs_idata_realloc( | |||
| 	 * in size so that it can be logged and stay on word boundaries. | ||||
| 	 * We enforce that here. | ||||
| 	 */ | ||||
| 	ifp->if_u1.if_data = kmem_realloc(ifp->if_u1.if_data, | ||||
| 			roundup(new_size, 4), KM_NOFS); | ||||
| 	ifp->if_u1.if_data = krealloc(ifp->if_u1.if_data, roundup(new_size, 4), | ||||
| 				      GFP_NOFS | __GFP_NOFAIL); | ||||
| 	ifp->if_bytes = new_size; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -2097,7 +2097,7 @@ xlog_recover_add_to_cont_trans( | |||
| 	old_ptr = item->ri_buf[item->ri_cnt-1].i_addr; | ||||
| 	old_len = item->ri_buf[item->ri_cnt-1].i_len; | ||||
| 
 | ||||
| 	ptr = kmem_realloc(old_ptr, len + old_len, 0); | ||||
| 	ptr = krealloc(old_ptr, len + old_len, GFP_KERNEL | __GFP_NOFAIL); | ||||
| 	memcpy(&ptr[old_len], dp, len); | ||||
| 	item->ri_buf[item->ri_cnt-1].i_len += len; | ||||
| 	item->ri_buf[item->ri_cnt-1].i_addr = ptr; | ||||
|  |  | |||
|  | @ -80,9 +80,9 @@ xfs_uuid_mount( | |||
| 	} | ||||
| 
 | ||||
| 	if (hole < 0) { | ||||
| 		xfs_uuid_table = kmem_realloc(xfs_uuid_table, | ||||
| 		xfs_uuid_table = krealloc(xfs_uuid_table, | ||||
| 			(xfs_uuid_table_size + 1) * sizeof(*xfs_uuid_table), | ||||
| 			0); | ||||
| 			GFP_KERNEL | __GFP_NOFAIL); | ||||
| 		hole = xfs_uuid_table_size++; | ||||
| 	} | ||||
| 	xfs_uuid_table[hole] = *uuid; | ||||
|  |  | |||
|  | @ -3676,7 +3676,6 @@ DEFINE_EVENT(xfs_kmem_class, name, \ | |||
| DEFINE_KMEM_EVENT(kmem_alloc); | ||||
| DEFINE_KMEM_EVENT(kmem_alloc_io); | ||||
| DEFINE_KMEM_EVENT(kmem_alloc_large); | ||||
| DEFINE_KMEM_EVENT(kmem_realloc); | ||||
| 
 | ||||
| TRACE_EVENT(xfs_check_new_dalign, | ||||
| 	TP_PROTO(struct xfs_mount *mp, int new_dalign, xfs_ino_t calc_rootino), | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Carlos Maiolino
						Carlos Maiolino