block: Add blk_is_available()
blk_is_available() returns true iff the BDS is inserted (which means blk_bs() is not NULL and bdrv_is_inserted() returns true) and if the tray of the guest device is closed. blk_is_inserted() is changed to return true only if blk_bs() is not NULL. Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									e031f75048
								
							
						
					
					
						commit
						db0284f86a
					
				@ -771,7 +771,12 @@ void blk_invalidate_cache(BlockBackend *blk, Error **errp)
 | 
			
		||||
 | 
			
		||||
bool blk_is_inserted(BlockBackend *blk)
 | 
			
		||||
{
 | 
			
		||||
    return bdrv_is_inserted(blk->bs);
 | 
			
		||||
    return blk->bs && bdrv_is_inserted(blk->bs);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool blk_is_available(BlockBackend *blk)
 | 
			
		||||
{
 | 
			
		||||
    return blk_is_inserted(blk) && !blk_dev_is_tray_open(blk);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void blk_lock_medium(BlockBackend *blk, bool locked)
 | 
			
		||||
 | 
			
		||||
@ -131,6 +131,7 @@ int blk_enable_write_cache(BlockBackend *blk);
 | 
			
		||||
void blk_set_enable_write_cache(BlockBackend *blk, bool wce);
 | 
			
		||||
void blk_invalidate_cache(BlockBackend *blk, Error **errp);
 | 
			
		||||
bool blk_is_inserted(BlockBackend *blk);
 | 
			
		||||
bool blk_is_available(BlockBackend *blk);
 | 
			
		||||
void blk_lock_medium(BlockBackend *blk, bool locked);
 | 
			
		||||
void blk_eject(BlockBackend *blk, bool eject_flag);
 | 
			
		||||
int blk_get_flags(BlockBackend *blk);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user