struct tgt_cmnd *tgt_cmnd_create(struct tgt_session *session, uint8_t *proto_data, uint8_t *id_buff, int buff_size)
struct tgt_cmnd *tgt_cmnd_create(struct tgt_session *session)
struct tgt_cmnd *tgt_cmnd_create(struct tgt_session *session,				 uint8_t *proto_data,				 uint8_t *id_buff, int buff_size){	struct tgt_protocol *proto = session->target->proto;	struct tgt_cmnd *cmnd;	unsigned long flags;	cmnd = mempool_alloc(session->cmnd_pool, GFP_ATOMIC);	if (!cmnd) {		eprintk("Could not allocate tgt_cmnd for %p\n", session);		return NULL;	}	memset(cmnd, 0, sizeof(*cmnd));	cmnd->session = session;	cmnd->cid = (uint64_t) (unsigned long) cmnd;	INIT_LIST_HEAD(&cmnd->clist);	INIT_LIST_HEAD(&cmnd->hash_list);	dprintk("%p %llu\n", session, cmnd->cid);	proto->init_cmnd(cmnd, proto_data, id_buff, buff_size);	spin_lock_irqsave(&cmnd_hash_lock, flags);	list_add_tail(&cmnd->hash_list, &cmnd_hash[cmnd_hashfn(cmnd->cid)]);	spin_unlock_irqrestore(&cmnd_hash_lock, flags);	return cmnd;}