.. | .. |
---|
23 | 23 | char inquiry_rev[4]; |
---|
24 | 24 | struct module *owner; |
---|
25 | 25 | |
---|
26 | | - u8 transport_flags; |
---|
| 26 | + u8 transport_flags_default; |
---|
| 27 | + u8 transport_flags_changeable; |
---|
27 | 28 | |
---|
28 | 29 | int (*attach_hba)(struct se_hba *, u32); |
---|
29 | 30 | void (*detach_hba)(struct se_hba *); |
---|
.. | .. |
---|
39 | 40 | ssize_t (*show_configfs_dev_params)(struct se_device *, char *); |
---|
40 | 41 | |
---|
41 | 42 | sense_reason_t (*parse_cdb)(struct se_cmd *cmd); |
---|
| 43 | + void (*tmr_notify)(struct se_device *se_dev, enum tcm_tmreq_table, |
---|
| 44 | + struct list_head *aborted_cmds); |
---|
42 | 45 | u32 (*get_device_type)(struct se_device *); |
---|
43 | 46 | sector_t (*get_blocks)(struct se_device *); |
---|
44 | 47 | sector_t (*get_alignment_offset_lbas)(struct se_device *); |
---|
.. | .. |
---|
95 | 98 | |
---|
96 | 99 | extern struct configfs_attribute *sbc_attrib_attrs[]; |
---|
97 | 100 | extern struct configfs_attribute *passthrough_attrib_attrs[]; |
---|
| 101 | +extern struct configfs_attribute *passthrough_pr_attrib_attrs[]; |
---|
98 | 102 | |
---|
99 | 103 | /* core helpers also used by command snooping in pscsi */ |
---|
100 | 104 | void *transport_kmap_data_sg(struct se_cmd *); |
---|
.. | .. |
---|
115 | 119 | static inline bool target_dev_configured(struct se_device *se_dev) |
---|
116 | 120 | { |
---|
117 | 121 | return !!(se_dev->dev_flags & DF_CONFIGURED); |
---|
118 | | -} |
---|
119 | | - |
---|
120 | | -/* Only use get_unaligned_be24() if reading p - 1 is allowed. */ |
---|
121 | | -static inline uint32_t get_unaligned_be24(const uint8_t *const p) |
---|
122 | | -{ |
---|
123 | | - return get_unaligned_be32(p - 1) & 0xffffffU; |
---|
124 | 122 | } |
---|
125 | 123 | |
---|
126 | 124 | #endif /* TARGET_CORE_BACKEND_H */ |
---|