iscsi_buf_init_hdr(conn, &ctask->headbuf, (char*)hdr, (u8 *)dtask->hdrext); 
iscsi_buf_init_virt(&ctask->headbuf, (char*)hdr, sizeof(struct iscsi_hdr)); 
iscsi_unsolicit_data_init(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask){	struct iscsi_data *hdr;	struct iscsi_data_task *dtask;	dtask = mempool_alloc(ctask->datapool, GFP_ATOMIC);	BUG_ON(!dtask);	hdr = &dtask->hdr;	memset(hdr, 0, sizeof(struct iscsi_data));	hdr->ttt = cpu_to_be32(ISCSI_RESERVED_TAG);	hdr->datasn = cpu_to_be32(ctask->unsol_datasn);	ctask->unsol_datasn++;	hdr->opcode = ISCSI_OP_SCSI_DATA_OUT;	memcpy(hdr->lun, ctask->hdr.lun, sizeof(hdr->lun));	hdr->itt = ctask->hdr.itt;	hdr->exp_statsn = cpu_to_be32(conn->exp_statsn);	hdr->offset = cpu_to_be32(ctask->total_length -				  ctask->r2t_data_count -				  ctask->unsol_count);	if (ctask->unsol_count > conn->max_xmit_dlength) {		hton24(hdr->dlength, conn->max_xmit_dlength);		ctask->data_count = conn->max_xmit_dlength;		hdr->flags = 0;	} else {		hton24(hdr->dlength, ctask->unsol_count);		ctask->data_count = ctask->unsol_count;		hdr->flags = ISCSI_FLAG_CMD_FINAL;	}	iscsi_buf_init_hdr(conn, &ctask->headbuf, (char*)hdr,			   (u8 *)dtask->hdrext);	list_add(&dtask->item, &ctask->dataqueue);	ctask->dtask = dtask;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/af973481f4a0902ad35726636c290f4794704948/iscsi_tcp.c/clean/drivers/scsi/iscsi_tcp.c