Revision 63ec93db block/raw-posix.c
b/block/raw-posix.c | ||
---|---|---|
1060 | 1060 |
return 0; |
1061 | 1061 |
} |
1062 | 1062 |
|
1063 |
static int raw_ioctl(BlockDriverState *bs, unsigned long int req, void *buf)
|
|
1063 |
static int hdev_ioctl(BlockDriverState *bs, unsigned long int req, void *buf)
|
|
1064 | 1064 |
{ |
1065 | 1065 |
BDRVRawState *s = bs->opaque; |
1066 | 1066 |
|
... | ... | |
1068 | 1068 |
} |
1069 | 1069 |
|
1070 | 1070 |
#ifdef CONFIG_AIO |
1071 |
static BlockDriverAIOCB *raw_aio_ioctl(BlockDriverState *bs,
|
|
1071 |
static BlockDriverAIOCB *hdev_aio_ioctl(BlockDriverState *bs,
|
|
1072 | 1072 |
unsigned long int req, void *buf, |
1073 | 1073 |
BlockDriverCompletionFunc *cb, void *opaque) |
1074 | 1074 |
{ |
... | ... | |
1110 | 1110 |
return 0; |
1111 | 1111 |
return -EIO; |
1112 | 1112 |
} |
1113 |
|
|
1114 |
static int raw_ioctl(BlockDriverState *bs, unsigned long int req, void *buf) |
|
1115 |
{ |
|
1116 |
return -ENOTSUP; |
|
1117 |
} |
|
1118 | 1113 |
#else /* !linux && !FreeBSD */ |
1119 | 1114 |
|
1120 | 1115 |
static int fd_open(BlockDriverState *bs) |
... | ... | |
1122 | 1117 |
return 0; |
1123 | 1118 |
} |
1124 | 1119 |
|
1125 |
static int raw_ioctl(BlockDriverState *bs, unsigned long int req, void *buf) |
|
1126 |
{ |
|
1127 |
return -ENOTSUP; |
|
1128 |
} |
|
1129 |
|
|
1130 |
static BlockDriverAIOCB *raw_aio_ioctl(BlockDriverState *bs, |
|
1131 |
unsigned long int req, void *buf, |
|
1132 |
BlockDriverCompletionFunc *cb, void *opaque) |
|
1133 |
{ |
|
1134 |
return NULL; |
|
1135 |
} |
|
1136 | 1120 |
#endif /* !linux && !FreeBSD */ |
1137 | 1121 |
|
1138 | 1122 |
static int hdev_create(const char *filename, QEMUOptionParameter *options) |
... | ... | |
1184 | 1168 |
.bdrv_getlength = raw_getlength, |
1185 | 1169 |
|
1186 | 1170 |
/* generic scsi device */ |
1187 |
.bdrv_ioctl = raw_ioctl, |
|
1171 |
#ifdef __linux__ |
|
1172 |
.bdrv_ioctl = hdev_ioctl, |
|
1188 | 1173 |
#ifdef CONFIG_AIO |
1189 |
.bdrv_aio_ioctl = raw_aio_ioctl, |
|
1174 |
.bdrv_aio_ioctl = hdev_aio_ioctl, |
|
1175 |
#endif |
|
1190 | 1176 |
#endif |
1191 | 1177 |
}; |
1192 | 1178 |
|
... | ... | |
1286 | 1272 |
.bdrv_is_inserted = floppy_is_inserted, |
1287 | 1273 |
.bdrv_media_changed = floppy_media_changed, |
1288 | 1274 |
.bdrv_eject = floppy_eject, |
1289 |
|
|
1290 |
/* generic scsi device */ |
|
1291 |
.bdrv_ioctl = raw_ioctl, |
|
1292 |
#ifdef CONFIG_AIO |
|
1293 |
.bdrv_aio_ioctl = raw_aio_ioctl, |
|
1294 |
#endif |
|
1295 | 1275 |
}; |
1296 | 1276 |
|
1297 | 1277 |
static int cdrom_open(BlockDriverState *bs, const char *filename, int flags) |
... | ... | |
1377 | 1357 |
.bdrv_set_locked = cdrom_set_locked, |
1378 | 1358 |
|
1379 | 1359 |
/* generic scsi device */ |
1380 |
.bdrv_ioctl = raw_ioctl,
|
|
1360 |
.bdrv_ioctl = hdev_ioctl,
|
|
1381 | 1361 |
#ifdef CONFIG_AIO |
1382 |
.bdrv_aio_ioctl = raw_aio_ioctl,
|
|
1362 |
.bdrv_aio_ioctl = hdev_aio_ioctl,
|
|
1383 | 1363 |
#endif |
1384 | 1364 |
}; |
1385 | 1365 |
#endif /* __linux__ */ |
... | ... | |
1498 | 1478 |
.bdrv_is_inserted = cdrom_is_inserted, |
1499 | 1479 |
.bdrv_eject = cdrom_eject, |
1500 | 1480 |
.bdrv_set_locked = cdrom_set_locked, |
1501 |
|
|
1502 |
/* generic scsi device */ |
|
1503 |
.bdrv_ioctl = raw_ioctl, |
|
1504 |
#ifdef CONFIG_AIO |
|
1505 |
.bdrv_aio_ioctl = raw_aio_ioctl, |
|
1506 |
#endif |
|
1507 | 1481 |
}; |
1508 | 1482 |
#endif /* __FreeBSD__ */ |
1509 | 1483 |
|
Also available in: Unified diff