iov = sg_to_iovec(cmnd->sg, cmnd->sg_count);
static int stgt_vsd_queue(struct stgt_device *device, struct stgt_cmnd *cmnd){	struct stgt_vsd_dev *vsddev = device->sdt_data;	loff_t pos = translate_offset(cmnd->scb);	ssize_t size;	struct iovec *iov = NULL;	int err = 0;	switch (cmnd->scb[0]) {	case READ_6:	case READ_10:	case READ_16:		iov = sg_to_iovec(cmnd->sg, cmnd->sg_count);		if (!iov)			goto out;		size = generic_file_readv(vsddev->filp, iov, cmnd->sg_count, &pos);		kfree(iov);		break;	case WRITE_6:	case WRITE_10:	case WRITE_16:	case WRITE_VERIFY:		iov = sg_to_iovec(cmnd->sg, cmnd->sg_count);		if (!iov)			goto out;		iov = sg_to_iovec(cmnd->sg, cmnd->sg_count);		err = generic_file_writev(vsddev->filp, iov, cmnd->sg_count, &pos);		kfree(iov);		break;	case RESERVE:	case RELEASE:	case RESERVE_10:	case RELEASE_10:		break;	default:		BUG();	}	if (err < 0)		printk("%s %d: %d %llu\n", __FUNCTION__, __LINE__, err, pos);out:	return 0;}