Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 359365
b: refs/heads/master
c: c9365bd
h: refs/heads/master
i:
  359363: b0075d1
v: v3
  • Loading branch information
Tejun Heo authored and Linus Torvalds committed Feb 28, 2013
1 parent d243674 commit a5fa81a
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b98c52b5721f5d88cd9b18aaf532049b44f7815a
refs/heads/master: c9365bd028a48017ebc09d7a565d3b6bbc86b3c6
15 changes: 8 additions & 7 deletions trunk/drivers/target/iscsi/iscsi_target.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,23 +144,24 @@ struct iscsi_tiqn *iscsit_add_tiqn(unsigned char *buf)
spin_lock_init(&tiqn->login_stats.lock);
spin_lock_init(&tiqn->logout_stats.lock);

if (!idr_pre_get(&tiqn_idr, GFP_KERNEL)) {
pr_err("idr_pre_get() for tiqn_idr failed\n");
kfree(tiqn);
return ERR_PTR(-ENOMEM);
}
tiqn->tiqn_state = TIQN_STATE_ACTIVE;

idr_preload(GFP_KERNEL);
spin_lock(&tiqn_lock);
ret = idr_get_new(&tiqn_idr, NULL, &tiqn->tiqn_index);

ret = idr_alloc(&tiqn_idr, NULL, 0, 0, GFP_NOWAIT);
if (ret < 0) {
pr_err("idr_get_new() failed for tiqn->tiqn_index\n");
pr_err("idr_alloc() failed for tiqn->tiqn_index\n");
spin_unlock(&tiqn_lock);
idr_preload_end();
kfree(tiqn);
return ERR_PTR(ret);
}
tiqn->tiqn_index = ret;
list_add_tail(&tiqn->tiqn_list, &g_tiqn_list);

spin_unlock(&tiqn_lock);
idr_preload_end();

pr_debug("CORE[0] - Added iSCSI Target IQN: %s\n", tiqn->tiqn);

Expand Down
15 changes: 6 additions & 9 deletions trunk/drivers/target/iscsi/iscsi_target_login.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,19 +247,16 @@ static int iscsi_login_zero_tsih_s1(
spin_lock_init(&sess->session_usage_lock);
spin_lock_init(&sess->ttt_lock);

if (!idr_pre_get(&sess_idr, GFP_KERNEL)) {
pr_err("idr_pre_get() for sess_idr failed\n");
iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR,
ISCSI_LOGIN_STATUS_NO_RESOURCES);
kfree(sess);
return -ENOMEM;
}
idr_preload(GFP_KERNEL);
spin_lock_bh(&sess_idr_lock);
ret = idr_get_new(&sess_idr, NULL, &sess->session_index);
ret = idr_alloc(&sess_idr, NULL, 0, 0, GFP_NOWAIT);
if (ret >= 0)
sess->session_index = ret;
spin_unlock_bh(&sess_idr_lock);
idr_preload_end();

if (ret < 0) {
pr_err("idr_get_new() for sess_idr failed\n");
pr_err("idr_alloc() for sess_idr failed\n");
iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_TARGET_ERR,
ISCSI_LOGIN_STATUS_NO_RESOURCES);
kfree(sess);
Expand Down

0 comments on commit a5fa81a

Please sign in to comment.