Current, when we update the 'conf' structure, when adding a drive to a linear array, we keep the old version around until the array is finally stopped, as it is not safe to free it immediately. Now that we have rcu protection on all accesses to 'conf', we can use call_rcu to free it more promptly. Signed-off-by: NeilBrown <neilb@suse.de>
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			301 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			301 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _LINEAR_H
 | 
						|
#define _LINEAR_H
 | 
						|
 | 
						|
struct dev_info {
 | 
						|
	mdk_rdev_t	*rdev;
 | 
						|
	sector_t	end_sector;
 | 
						|
};
 | 
						|
 | 
						|
typedef struct dev_info dev_info_t;
 | 
						|
 | 
						|
struct linear_private_data
 | 
						|
{
 | 
						|
	sector_t		array_sectors;
 | 
						|
	dev_info_t		disks[0];
 | 
						|
	struct rcu_head		rcu;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
typedef struct linear_private_data linear_conf_t;
 | 
						|
 | 
						|
#endif
 |