Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ib_srpt: Convert to target_alloc_session usage

This patch converts ib_srpt internal assignments of
se_node_acl and transport_register_session() to use
the new alloc_session method.

Cc: Vu Pham <vu@mellanox.com>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>

+6 -17
+6 -17
drivers/infiniband/ulp/srpt/ib_srpt.c
··· 2240 2240 struct srp_login_rej *rej; 2241 2241 struct ib_cm_rep_param *rep_param; 2242 2242 struct srpt_rdma_ch *ch, *tmp_ch; 2243 - struct se_node_acl *se_acl; 2244 2243 u32 it_iu_len; 2245 2244 int i, ret = 0; 2246 2245 unsigned char *p; ··· 2405 2406 pr_debug("registering session %s\n", ch->sess_name); 2406 2407 p = &ch->sess_name[0]; 2407 2408 2408 - ch->sess = transport_init_session(TARGET_PROT_NORMAL); 2409 - if (IS_ERR(ch->sess)) { 2410 - rej->reason = cpu_to_be32( 2411 - SRP_LOGIN_REJ_INSUFFICIENT_RESOURCES); 2412 - pr_debug("Failed to create session\n"); 2413 - goto destroy_ib; 2414 - } 2415 - 2416 2409 try_again: 2417 - se_acl = core_tpg_get_initiator_node_acl(&sport->port_tpg_1, p); 2418 - if (!se_acl) { 2410 + ch->sess = target_alloc_session(&sport->port_tpg_1, 0, 0, 2411 + TARGET_PROT_NORMAL, p, ch, NULL); 2412 + if (IS_ERR(ch->sess)) { 2419 2413 pr_info("Rejected login because no ACL has been" 2420 - " configured yet for initiator %s.\n", ch->sess_name); 2414 + " configured yet for initiator %s.\n", p); 2421 2415 /* 2422 2416 * XXX: Hack to retry of ch->i_port_id without leading '0x' 2423 2417 */ ··· 2418 2426 p += 2; 2419 2427 goto try_again; 2420 2428 } 2421 - rej->reason = cpu_to_be32( 2429 + rej->reason = cpu_to_be32((PTR_ERR(ch->sess) == -ENOMEM) ? 2430 + SRP_LOGIN_REJ_INSUFFICIENT_RESOURCES : 2422 2431 SRP_LOGIN_REJ_CHANNEL_LIMIT_REACHED); 2423 - transport_free_session(ch->sess); 2424 2432 goto destroy_ib; 2425 2433 } 2426 - ch->sess->se_node_acl = se_acl; 2427 - 2428 - transport_register_session(&sport->port_tpg_1, se_acl, ch->sess, ch); 2429 2434 2430 2435 pr_debug("Establish connection sess=%p name=%s cm_id=%p\n", ch->sess, 2431 2436 ch->sess_name, ch->cm_id);