dprintk("cid %llu result %d len %d bufflen %u\n",
dprintk("cid %" PRIx64 " result %d len %d bufflen %u\n",
static void uspace_cmd_done(struct tgt_cmd *cmd, void *data,			     int result, uint32_t len){	struct tgt_device *device = cmd->device;	char *p = data;	int i;	dprintk("cid %llu result %d len %d bufflen %u\n",		cmd->cid, result, len, cmd->bufflen);	if (len) {		/*		 * yuck TODO fix.		 * This will happen if we though we were going to do some		 * IO but we ended up just gettting some sense back		 */		if (len != cmd->bufflen) {			tgt_free_buffer(cmd);			cmd->bufflen = len;			cmd->offset = 0;			__tgt_alloc_buffer(cmd);		}		for (i = 0; i < cmd->sg_count; i++) {			uint32_t copy = min_t(uint32_t, len, PAGE_CACHE_SIZE);			memcpy(page_address(cmd->sg[i].page), p, copy);			p += copy;			len -= copy;		}	}	cmd->result = result;	if (device->dt->complete_uspace_cmd)		device->dt->complete_uspace_cmd(cmd);	tgt_transfer_response(cmd);}