 6193f06e6f
			
		
	
	
	6193f06e6f
	
	
	
		
			
			The most commonly used file, iblock and rd backends have no use for a per-task CDB and thus don't need a method to copy it into their otherwise unused CDB fields. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			601 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			601 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef TARGET_CORE_IBLOCK_H
 | |
| #define TARGET_CORE_IBLOCK_H
 | |
| 
 | |
| #define IBLOCK_VERSION		"4.0"
 | |
| 
 | |
| #define IBLOCK_MAX_CDBS		16
 | |
| #define IBLOCK_LBA_SHIFT	9
 | |
| 
 | |
| struct iblock_req {
 | |
| 	struct se_task ib_task;
 | |
| 	atomic_t ib_bio_cnt;
 | |
| 	atomic_t ib_bio_err_cnt;
 | |
| } ____cacheline_aligned;
 | |
| 
 | |
| #define IBDF_HAS_UDEV_PATH		0x01
 | |
| 
 | |
| struct iblock_dev {
 | |
| 	unsigned char ibd_udev_path[SE_UDEV_PATH_LEN];
 | |
| 	u32	ibd_flags;
 | |
| 	struct bio_set	*ibd_bio_set;
 | |
| 	struct block_device *ibd_bd;
 | |
| 	struct iblock_hba *ibd_host;
 | |
| } ____cacheline_aligned;
 | |
| 
 | |
| struct iblock_hba {
 | |
| 	int		iblock_host_id;
 | |
| } ____cacheline_aligned;
 | |
| 
 | |
| #endif /* TARGET_CORE_IBLOCK_H */
 |