diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/nbd.c | 2 | ||||
-rw-r--r-- | block/raw-posix.c | 8 | ||||
-rw-r--r-- | block/stream.c | 22 |
3 files changed, 16 insertions, 16 deletions
diff --git a/block/nbd.c b/block/nbd.c index 56dbf6ef86..1212614223 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -284,7 +284,7 @@ static int nbd_establish_connection(BlockDriverState *bs) /* Now that we're connected, set the socket to be non-blocking and * kick the reply mechanism. */ socket_set_nonblock(sock); - qemu_aio_set_fd_handler(s->sock, nbd_reply_ready, NULL, + qemu_aio_set_fd_handler(sock, nbd_reply_ready, NULL, nbd_have_request, s); s->sock = sock; diff --git a/block/raw-posix.c b/block/raw-posix.c index 2d1bc13484..03fcfcc031 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -29,7 +29,7 @@ #include "module.h" #include "block/raw-posix-aio.h" -#ifdef CONFIG_COCOA +#if defined(__APPLE__) && (__MACH__) #include <paths.h> #include <sys/param.h> #include <IOKit/IOKitLib.h> @@ -505,7 +505,7 @@ again: } if (size == 0) #endif -#ifdef CONFIG_COCOA +#if defined(__APPLE__) && defined(__MACH__) size = LONG_LONG_MAX; #else size = lseek(fd, 0LL, SEEK_END); @@ -650,7 +650,7 @@ static BlockDriver bdrv_file = { /***********************************************/ /* host device */ -#ifdef CONFIG_COCOA +#if defined(__APPLE__) && defined(__MACH__) static kern_return_t FindEjectableCDMedia( io_iterator_t *mediaIterator ); static kern_return_t GetBSDPath( io_iterator_t mediaIterator, char *bsdPath, CFIndex maxPathSize ); @@ -728,7 +728,7 @@ static int hdev_open(BlockDriverState *bs, const char *filename, int flags) { BDRVRawState *s = bs->opaque; -#ifdef CONFIG_COCOA +#if defined(__APPLE__) && defined(__MACH__) if (strstart(filename, "/dev/cdrom", NULL)) { kern_return_t kernResult; io_iterator_t mediaIterator; diff --git a/block/stream.c b/block/stream.c index 0efe1adfd5..6724af2764 100644 --- a/block/stream.c +++ b/block/stream.c @@ -263,15 +263,15 @@ retry: block_job_complete(&s->common, ret); } -static int stream_set_speed(BlockJob *job, int64_t value) +static void stream_set_speed(BlockJob *job, int64_t speed, Error **errp) { StreamBlockJob *s = container_of(job, StreamBlockJob, common); - if (value < 0) { - return -EINVAL; + if (speed < 0) { + error_set(errp, QERR_INVALID_PARAMETER, "speed"); + return; } - ratelimit_set_speed(&s->limit, value / BDRV_SECTOR_SIZE); - return 0; + ratelimit_set_speed(&s->limit, speed / BDRV_SECTOR_SIZE); } static BlockJobType stream_job_type = { @@ -280,16 +280,17 @@ static BlockJobType stream_job_type = { .set_speed = stream_set_speed, }; -int stream_start(BlockDriverState *bs, BlockDriverState *base, - const char *base_id, BlockDriverCompletionFunc *cb, - void *opaque) +void stream_start(BlockDriverState *bs, BlockDriverState *base, + const char *base_id, int64_t speed, + BlockDriverCompletionFunc *cb, + void *opaque, Error **errp) { StreamBlockJob *s; Coroutine *co; - s = block_job_create(&stream_job_type, bs, cb, opaque); + s = block_job_create(&stream_job_type, bs, speed, cb, opaque, errp); if (!s) { - return -EBUSY; /* bs must already be in use */ + return; } s->base = base; @@ -300,5 +301,4 @@ int stream_start(BlockDriverState *bs, BlockDriverState *base, co = qemu_coroutine_create(stream_run); trace_stream_start(bs, base, s, co, opaque); qemu_coroutine_enter(co, s); - return 0; } |