@ -2040,11 +2040,10 @@ out:
return result ;
}
static int coroutine_fn raw_thread_pool_submit ( BlockDriverState * bs ,
ThreadPoolFunc func , void * arg )
static int coroutine_fn raw_thread_pool_submit ( ThreadPoolFunc func , void * arg )
{
/* @bs can be NULL, bdrv_get_aio_context() returns the main context then */
ThreadPool * pool = aio_get_thread_pool ( bdrv_get_aio_context ( bs ) ) ;
ThreadPool * pool = aio_get_thread_pool ( qemu_get_current_aio_context ( ) ) ;
return thread_pool_submit_co ( pool , func , arg ) ;
}
@ -2112,7 +2111,7 @@ static int coroutine_fn raw_co_prw(BlockDriverState *bs, uint64_t offset,
} ;
assert ( qiov - > size = = bytes ) ;
return raw_thread_pool_submit ( bs , handle_aiocb_rw , & acb ) ;
return raw_thread_pool_submit ( handle_aiocb_rw , & acb ) ;
}
static int coroutine_fn raw_co_preadv ( BlockDriverState * bs , int64_t offset ,
@ -2181,7 +2180,7 @@ static int coroutine_fn raw_co_flush_to_disk(BlockDriverState *bs)
return luring_co_submit ( bs , s - > fd , 0 , NULL , QEMU_AIO_FLUSH ) ;
}
# endif
return raw_thread_pool_submit ( bs , handle_aiocb_flush , & acb ) ;
return raw_thread_pool_submit ( handle_aiocb_flush , & acb ) ;
}
static void raw_aio_attach_aio_context ( BlockDriverState * bs ,
@ -2243,7 +2242,7 @@ raw_regular_truncate(BlockDriverState *bs, int fd, int64_t offset,
} ,
} ;
return raw_thread_pool_submit ( bs , handle_aiocb_truncate , & acb ) ;
return raw_thread_pool_submit ( handle_aiocb_truncate , & acb ) ;
}
static int coroutine_fn raw_co_truncate ( BlockDriverState * bs , int64_t offset ,
@ -2992,7 +2991,7 @@ raw_do_pdiscard(BlockDriverState *bs, int64_t offset, int64_t bytes,
acb . aio_type | = QEMU_AIO_BLKDEV ;
}
ret = raw_thread_pool_submit ( bs , handle_aiocb_discard , & acb ) ;
ret = raw_thread_pool_submit ( handle_aiocb_discard , & acb ) ;
raw_account_discard ( s , bytes , ret ) ;
return ret ;
}
@ -3067,7 +3066,7 @@ raw_do_pwrite_zeroes(BlockDriverState *bs, int64_t offset, int64_t bytes,
handler = handle_aiocb_write_zeroes ;
}
return raw_thread_pool_submit ( bs , handler , & acb ) ;
return raw_thread_pool_submit ( handler , & acb ) ;
}
static int coroutine_fn raw_co_pwrite_zeroes (
@ -3305,7 +3304,7 @@ raw_co_copy_range_to(BlockDriverState *bs,
} ,
} ;
return raw_thread_pool_submit ( bs , handle_aiocb_copy_range , & acb ) ;
return raw_thread_pool_submit ( handle_aiocb_copy_range , & acb ) ;
}
BlockDriver bdrv_file = {
@ -3635,7 +3634,7 @@ hdev_co_ioctl(BlockDriverState *bs, unsigned long int req, void *buf)
struct sg_io_hdr * io_hdr = buf ;
if ( io_hdr - > cmdp [ 0 ] = = PERSISTENT_RESERVE_OUT | |
io_hdr - > cmdp [ 0 ] = = PERSISTENT_RESERVE_IN ) {
return pr_manager_execute ( s - > pr_mgr , bdrv_get_aio_context ( bs ) ,
return pr_manager_execute ( s - > pr_mgr , qemu_get_current_aio_context ( ) ,
s - > fd , io_hdr ) ;
}
}
@ -3651,7 +3650,7 @@ hdev_co_ioctl(BlockDriverState *bs, unsigned long int req, void *buf)
} ,
} ;
return raw_thread_pool_submit ( bs , handle_aiocb_ioctl , & acb ) ;
return raw_thread_pool_submit ( handle_aiocb_ioctl , & acb ) ;
}
# endif /* linux */