scsi: target: Abstract tag freeing
Introduce target_free_tag() and convert all drivers to use it. Signed-off-by: Matthew Wilcox <willy@infradead.org> Reviewed-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
ba80917d99
commit
83c2b54b92
@@ -711,7 +711,7 @@ void iscsit_release_cmd(struct iscsi_cmd *cmd)
|
||||
kfree(cmd->iov_data);
|
||||
kfree(cmd->text_in_ptr);
|
||||
|
||||
percpu_ida_free(&sess->se_sess->sess_tag_pool, se_cmd->map_tag);
|
||||
target_free_tag(sess->se_sess, se_cmd);
|
||||
}
|
||||
EXPORT_SYMBOL(iscsit_release_cmd);
|
||||
|
||||
|
@@ -1460,7 +1460,7 @@ static void sbp_free_request(struct sbp_target_request *req)
|
||||
kfree(req->pg_tbl);
|
||||
kfree(req->cmd_buf);
|
||||
|
||||
percpu_ida_free(&se_sess->sess_tag_pool, se_cmd->map_tag);
|
||||
target_free_tag(se_sess, se_cmd);
|
||||
}
|
||||
|
||||
static void sbp_mgt_agent_process(struct work_struct *work)
|
||||
|
@@ -92,7 +92,7 @@ static void ft_free_cmd(struct ft_cmd *cmd)
|
||||
if (fr_seq(fp))
|
||||
fc_seq_release(fr_seq(fp));
|
||||
fc_frame_free(fp);
|
||||
percpu_ida_free(&sess->se_sess->sess_tag_pool, cmd->se_cmd.map_tag);
|
||||
target_free_tag(sess->se_sess, &cmd->se_cmd);
|
||||
ft_sess_put(sess); /* undo get from lookup at recv */
|
||||
}
|
||||
|
||||
@@ -461,7 +461,7 @@ static void ft_recv_cmd(struct ft_sess *sess, struct fc_frame *fp)
|
||||
cmd->sess = sess;
|
||||
cmd->seq = fc_seq_assign(lport, fp);
|
||||
if (!cmd->seq) {
|
||||
percpu_ida_free(&se_sess->sess_tag_pool, tag);
|
||||
target_free_tag(se_sess, &cmd->se_cmd);
|
||||
goto busy;
|
||||
}
|
||||
cmd->req_frame = fp; /* hold frame during cmd */
|
||||
|
Reference in New Issue
Block a user