iscsi.c (219c252193862898430e5dea5efb7447877aaa85) iscsi.c (87ea75d5e135c0527c6a9dbac4317913409f28c7)
1/*
2 * QEMU Block driver for iSCSI images
3 *
4 * Copyright (c) 2010-2011 Ronnie Sahlberg <ronniesahlberg@gmail.com>
5 * Copyright (c) 2012-2013 Peter Lieven <pl@kamp.de>
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 345 unchanged lines hidden (view full) ---

354 iTask.task = iscsi_read16_task(iscsilun->iscsi, iscsilun->lun, lba,
355 num_sectors * iscsilun->block_size,
356 iscsilun->block_size, 0, 0, 0, 0, 0,
357 iscsi_co_generic_cb, &iTask);
358 break;
359 default:
360 iTask.task = iscsi_read10_task(iscsilun->iscsi, iscsilun->lun, lba,
361 num_sectors * iscsilun->block_size,
1/*
2 * QEMU Block driver for iSCSI images
3 *
4 * Copyright (c) 2010-2011 Ronnie Sahlberg <ronniesahlberg@gmail.com>
5 * Copyright (c) 2012-2013 Peter Lieven <pl@kamp.de>
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 345 unchanged lines hidden (view full) ---

354 iTask.task = iscsi_read16_task(iscsilun->iscsi, iscsilun->lun, lba,
355 num_sectors * iscsilun->block_size,
356 iscsilun->block_size, 0, 0, 0, 0, 0,
357 iscsi_co_generic_cb, &iTask);
358 break;
359 default:
360 iTask.task = iscsi_read10_task(iscsilun->iscsi, iscsilun->lun, lba,
361 num_sectors * iscsilun->block_size,
362 iscsilun->block_size,
363#if !defined(CONFIG_LIBISCSI_1_4) /* API change from 1.4.0 to 1.5.0 */
364 0, 0, 0, 0, 0,
365#endif
362 iscsilun->block_size, 0, 0, 0, 0, 0,
366 iscsi_co_generic_cb, &iTask);
367 break;
368 }
369 if (iTask.task == NULL) {
370 return -EIO;
371 }
372#if defined(LIBISCSI_FEATURE_IOVECTOR)
373 scsi_task_set_iov_in(iTask.task, (struct scsi_iovec *) iov->iov, iov->niov);

--- 733 unchanged lines hidden (view full) ---

1107
1108 if ((BDRV_SECTOR_SIZE % 512) != 0) {
1109 error_report("iSCSI: Invalid BDRV_SECTOR_SIZE. "
1110 "BDRV_SECTOR_SIZE(%lld) is not a multiple "
1111 "of 512", BDRV_SECTOR_SIZE);
1112 return -EINVAL;
1113 }
1114
363 iscsi_co_generic_cb, &iTask);
364 break;
365 }
366 if (iTask.task == NULL) {
367 return -EIO;
368 }
369#if defined(LIBISCSI_FEATURE_IOVECTOR)
370 scsi_task_set_iov_in(iTask.task, (struct scsi_iovec *) iov->iov, iov->niov);

--- 733 unchanged lines hidden (view full) ---

1104
1105 if ((BDRV_SECTOR_SIZE % 512) != 0) {
1106 error_report("iSCSI: Invalid BDRV_SECTOR_SIZE. "
1107 "BDRV_SECTOR_SIZE(%lld) is not a multiple "
1108 "of 512", BDRV_SECTOR_SIZE);
1109 return -EINVAL;
1110 }
1111
1115 opts = qemu_opts_create_nofail(&runtime_opts);
1112 opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);
1116 qemu_opts_absorb_qdict(opts, options, &local_err);
1117 if (error_is_set(&local_err)) {
1118 qerror_report_err(local_err);
1119 error_free(local_err);
1120 ret = -EINVAL;
1121 goto out;
1122 }
1123

--- 359 unchanged lines hidden ---
1113 qemu_opts_absorb_qdict(opts, options, &local_err);
1114 if (error_is_set(&local_err)) {
1115 qerror_report_err(local_err);
1116 error_free(local_err);
1117 ret = -EINVAL;
1118 goto out;
1119 }
1120

--- 359 unchanged lines hidden ---