throttle: Remove throttle_group_lock/unlock()
The group throttling code was always meant to handle its locking internally. However, bdrv_swap() was touching the ThrottleGroup structure directly and therefore needed an API for that. Now that bdrv_swap() no longer exists there's no need for the throttle_group_lock() API anymore. Signed-off-by: Alberto Garcia <berto@igalia.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									bd745e238b
								
							
						
					
					
						commit
						d87d01e16a
					
				| 
						 | 
				
			
			@ -33,8 +33,7 @@
 | 
			
		|||
 * its own locking.
 | 
			
		||||
 *
 | 
			
		||||
 * This locking is however handled internally in this file, so it's
 | 
			
		||||
 * mostly transparent to outside users (but see the documentation in
 | 
			
		||||
 * throttle_groups_lock()).
 | 
			
		||||
 * transparent to outside users.
 | 
			
		||||
 *
 | 
			
		||||
 * The whole ThrottleGroup structure is private and invisible to
 | 
			
		||||
 * outside users, that only use it through its ThrottleState.
 | 
			
		||||
| 
						 | 
				
			
			@ -468,34 +467,6 @@ void throttle_group_unregister_bs(BlockDriverState *bs)
 | 
			
		|||
    bs->throttle_state = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Acquire the lock of this throttling group.
 | 
			
		||||
 *
 | 
			
		||||
 * You won't normally need to use this. None of the functions from the
 | 
			
		||||
 * ThrottleGroup API require you to acquire the lock since all of them
 | 
			
		||||
 * deal with it internally.
 | 
			
		||||
 *
 | 
			
		||||
 * This should only be used in exceptional cases when you want to
 | 
			
		||||
 * access the protected fields of a BlockDriverState directly
 | 
			
		||||
 * (e.g. bdrv_swap()).
 | 
			
		||||
 *
 | 
			
		||||
 * @bs: a BlockDriverState that is member of the group
 | 
			
		||||
 */
 | 
			
		||||
void throttle_group_lock(BlockDriverState *bs)
 | 
			
		||||
{
 | 
			
		||||
    ThrottleGroup *tg = container_of(bs->throttle_state, ThrottleGroup, ts);
 | 
			
		||||
    qemu_mutex_lock(&tg->lock);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Release the lock of this throttling group.
 | 
			
		||||
 *
 | 
			
		||||
 * See the comments in throttle_group_lock().
 | 
			
		||||
 */
 | 
			
		||||
void throttle_group_unlock(BlockDriverState *bs)
 | 
			
		||||
{
 | 
			
		||||
    ThrottleGroup *tg = container_of(bs->throttle_state, ThrottleGroup, ts);
 | 
			
		||||
    qemu_mutex_unlock(&tg->lock);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void throttle_groups_init(void)
 | 
			
		||||
{
 | 
			
		||||
    qemu_mutex_init(&throttle_groups_lock);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,7 +43,4 @@ void coroutine_fn throttle_group_co_io_limits_intercept(BlockDriverState *bs,
 | 
			
		|||
                                                        unsigned int bytes,
 | 
			
		||||
                                                        bool is_write);
 | 
			
		||||
 | 
			
		||||
void throttle_group_lock(BlockDriverState *bs);
 | 
			
		||||
void throttle_group_unlock(BlockDriverState *bs);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue