View | Details | Raw Unified | Return to bug 1180676
Collapse All | Expand All

(-)a/tcmur_cmd_handler.c (-1 / +12 lines)
Lines 1349-1354 static int xcopy_parse_parameter_list(struct tcmu_device *dev, Link Here
1349
	if (ret != TCMU_STS_OK)
1349
	if (ret != TCMU_STS_OK)
1350
		goto err;
1350
		goto err;
1351
1351
1352
	/*
1353
	 * tcmu-runner can't determine whether the device(s) referred to in an
1354
	 * XCOPY request should be accessible to the initiator via transport
1355
	 * settings, ACLs, etc. XXX Consequently, we need to fail any
1356
	 * cross-device requests for safety reasons.
1357
	 */
1358
	if (dev != xcopy->src_dev || dev != xcopy->dst_dev) {
1359
		tcmu_dev_err(dev, "Cross-device XCOPY not supported\n");
1360
		ret = TCMU_STS_CP_TGT_DEV_NOTCONN;
1361
		goto err;
1362
	}
1363
1352
	if (tcmu_dev_get_block_size(xcopy->src_dev) !=
1364
	if (tcmu_dev_get_block_size(xcopy->src_dev) !=
1353
	    tcmu_dev_get_block_size(xcopy->dst_dev)) {
1365
	    tcmu_dev_get_block_size(xcopy->dst_dev)) {
1354
		tcmu_dev_err(dev, "The block size of src dev %u != dst dev %u\n",
1366
		tcmu_dev_err(dev, "The block size of src dev %u != dst dev %u\n",
1355
- 

Return to bug 1180676