diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-22 15:41:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-22 15:41:14 -0400 |
commit | 5266e5b12c8b73587130325f7074d2f49ef9e427 (patch) | |
tree | 79abfbf1b047de05860fa832f66fce5078cc6434 /include/target | |
parent | fc739eba99dc8655369a07ead098de9960e48fff (diff) | |
parent | 5e47f1985d7107331c3f64fb3ec83d66fd73577e (diff) |
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull SCSI target updates from Nicholas Bellinger:
"The highlights this round include:
- Add target_alloc_session() w/ callback helper for doing se_session
allocation + tag + se_node_acl lookup. (HCH + nab)
- Tree-wide fabric driver conversion to use target_alloc_session()
- Convert sbp-target to use percpu_ida tag pre-allocation, and
TARGET_SCF_ACK_KREF I/O krefs (Chris Boot + nab)
- Convert usb-gadget to use percpu_ida tag pre-allocation, and
TARGET_SCF_ACK_KREF I/O krefs (Andrzej Pietrasiewicz + nab)
- Convert xen-scsiback to use percpu_ida tag pre-allocation, and
TARGET_SCF_ACK_KREF I/O krefs (Juergen Gross + nab)
- Convert tcm_fc to use TARGET_SCF_ACK_KREF I/O + TMR krefs
- Convert ib_srpt to use percpu_ida tag pre-allocation
- Add DebugFS node for qla2xxx target sess list (Quinn)
- Rework iser-target connection termination (Jenny + Sagi)
- Convert iser-target to new CQ API (HCH)
- Add pass-through WRITE_SAME support for IBLOCK (Mike Christie)
- Introduce data_bitmap for asynchronous access of data area (Sheng
Yang + Andy)
- Fix target_release_cmd_kref shutdown comp leak (Himanshu Madhani)
Also, there is a separate PULL request coming for cxgb4 NIC driver
prerequisites for supporting hw iscsi segmentation offload (ISO), that
will be the base for a number of v4.7 developments involving
iscsi-target hw offloads"
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (36 commits)
target: Fix target_release_cmd_kref shutdown comp leak
target: Avoid DataIN transfers for non-GOOD SAM status
target/user: Report capability of handling out-of-order completions to userspace
target/user: Fix size_t format-spec build warning
target/user: Don't free expired command when time out
target/user: Introduce data_bitmap, replace data_length/data_head/data_tail
target/user: Free data ring in unified function
target/user: Use iovec[] to describe continuous area
target: Remove enum transport_lunflags_table
target/iblock: pass WRITE_SAME to device if possible
iser-target: Kill the ->isert_cmd back pointer in struct iser_tx_desc
iser-target: Kill struct isert_rdma_wr
iser-target: Convert to new CQ API
iser-target: Split and properly type the login buffer
iser-target: Remove ISER_RECV_DATA_SEG_LEN
iser-target: Remove impossible condition from isert_wait_conn
iser-target: Remove redundant wait in release_conn
iser-target: Rework connection termination
iser-target: Separate flows for np listeners and connections cma events
iser-target: Add new state ISER_CONN_BOUND to isert_conn
...
Diffstat (limited to 'include/target')
-rw-r--r-- | include/target/target_core_base.h | 11 | ||||
-rw-r--r-- | include/target/target_core_fabric.h | 6 |
2 files changed, 8 insertions, 9 deletions
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index 1b09cac06508..3e0dd86360a2 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h | |||
@@ -144,12 +144,6 @@ enum se_cmd_flags_table { | |||
144 | SCF_USE_CPUID = 0x00800000, | 144 | SCF_USE_CPUID = 0x00800000, |
145 | }; | 145 | }; |
146 | 146 | ||
147 | /* struct se_dev_entry->lun_flags and struct se_lun->lun_access */ | ||
148 | enum transport_lunflags_table { | ||
149 | TRANSPORT_LUNFLAGS_READ_ONLY = 0x01, | ||
150 | TRANSPORT_LUNFLAGS_READ_WRITE = 0x02, | ||
151 | }; | ||
152 | |||
153 | /* | 147 | /* |
154 | * Used by transport_send_check_condition_and_sense() | 148 | * Used by transport_send_check_condition_and_sense() |
155 | * to signal which ASC/ASCQ sense payload should be built. | 149 | * to signal which ASC/ASCQ sense payload should be built. |
@@ -633,11 +627,10 @@ struct se_lun_acl { | |||
633 | }; | 627 | }; |
634 | 628 | ||
635 | struct se_dev_entry { | 629 | struct se_dev_entry { |
636 | /* See transport_lunflags_table */ | ||
637 | u64 mapped_lun; | 630 | u64 mapped_lun; |
638 | u64 pr_res_key; | 631 | u64 pr_res_key; |
639 | u64 creation_time; | 632 | u64 creation_time; |
640 | u32 lun_flags; | 633 | bool lun_access_ro; |
641 | u32 attach_count; | 634 | u32 attach_count; |
642 | atomic_long_t total_cmds; | 635 | atomic_long_t total_cmds; |
643 | atomic_long_t read_bytes; | 636 | atomic_long_t read_bytes; |
@@ -711,7 +704,7 @@ struct se_lun { | |||
711 | u64 unpacked_lun; | 704 | u64 unpacked_lun; |
712 | #define SE_LUN_LINK_MAGIC 0xffff7771 | 705 | #define SE_LUN_LINK_MAGIC 0xffff7771 |
713 | u32 lun_link_magic; | 706 | u32 lun_link_magic; |
714 | u32 lun_access; | 707 | bool lun_access_ro; |
715 | u32 lun_index; | 708 | u32 lun_index; |
716 | 709 | ||
717 | /* RELATIVE TARGET PORT IDENTIFER */ | 710 | /* RELATIVE TARGET PORT IDENTIFER */ |
diff --git a/include/target/target_core_fabric.h b/include/target/target_core_fabric.h index 56653408f53b..685a51aa98cc 100644 --- a/include/target/target_core_fabric.h +++ b/include/target/target_core_fabric.h | |||
@@ -108,6 +108,12 @@ void target_unregister_template(const struct target_core_fabric_ops *fo); | |||
108 | int target_depend_item(struct config_item *item); | 108 | int target_depend_item(struct config_item *item); |
109 | void target_undepend_item(struct config_item *item); | 109 | void target_undepend_item(struct config_item *item); |
110 | 110 | ||
111 | struct se_session *target_alloc_session(struct se_portal_group *, | ||
112 | unsigned int, unsigned int, enum target_prot_op prot_op, | ||
113 | const char *, void *, | ||
114 | int (*callback)(struct se_portal_group *, | ||
115 | struct se_session *, void *)); | ||
116 | |||
111 | struct se_session *transport_init_session(enum target_prot_op); | 117 | struct se_session *transport_init_session(enum target_prot_op); |
112 | int transport_alloc_session_tags(struct se_session *, unsigned int, | 118 | int transport_alloc_session_tags(struct se_session *, unsigned int, |
113 | unsigned int); | 119 | unsigned int); |