rbd.c (4359255ad39fdf116f0cf70a77ef5330c217e4da) rbd.c (061ca8a368165fae300748c17971824a089f521f)
1/*
2 * QEMU Block driver for RADOS (Ceph)
3 *
4 * Copyright (C) 2010-2011 Christian Brunner <chb@muc.de>,
5 * Josh Durgin <josh.durgin@dreamhost.com>
6 *
7 * This work is licensed under the terms of the GNU GPL, version 2. See
8 * the COPYING file in the top-level directory.

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

985 r = rbd_stat(s->image, &info, sizeof(info));
986 if (r < 0) {
987 return r;
988 }
989
990 return info.size;
991}
992
1/*
2 * QEMU Block driver for RADOS (Ceph)
3 *
4 * Copyright (C) 2010-2011 Christian Brunner <chb@muc.de>,
5 * Josh Durgin <josh.durgin@dreamhost.com>
6 *
7 * This work is licensed under the terms of the GNU GPL, version 2. See
8 * the COPYING file in the top-level directory.

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

985 r = rbd_stat(s->image, &info, sizeof(info));
986 if (r < 0) {
987 return r;
988 }
989
990 return info.size;
991}
992
993static int qemu_rbd_truncate(BlockDriverState *bs, int64_t offset,
994 PreallocMode prealloc, Error **errp)
993static int coroutine_fn qemu_rbd_co_truncate(BlockDriverState *bs,
994 int64_t offset,
995 PreallocMode prealloc,
996 Error **errp)
995{
996 BDRVRBDState *s = bs->opaque;
997 int r;
998
999 if (prealloc != PREALLOC_MODE_OFF) {
1000 error_setg(errp, "Unsupported preallocation mode '%s'",
1001 PreallocMode_str(prealloc));
1002 return -ENOTSUP;

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

1179 .bdrv_close = qemu_rbd_close,
1180 .bdrv_reopen_prepare = qemu_rbd_reopen_prepare,
1181 .bdrv_co_create = qemu_rbd_co_create,
1182 .bdrv_co_create_opts = qemu_rbd_co_create_opts,
1183 .bdrv_has_zero_init = bdrv_has_zero_init_1,
1184 .bdrv_get_info = qemu_rbd_getinfo,
1185 .create_opts = &qemu_rbd_create_opts,
1186 .bdrv_getlength = qemu_rbd_getlength,
997{
998 BDRVRBDState *s = bs->opaque;
999 int r;
1000
1001 if (prealloc != PREALLOC_MODE_OFF) {
1002 error_setg(errp, "Unsupported preallocation mode '%s'",
1003 PreallocMode_str(prealloc));
1004 return -ENOTSUP;

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

1181 .bdrv_close = qemu_rbd_close,
1182 .bdrv_reopen_prepare = qemu_rbd_reopen_prepare,
1183 .bdrv_co_create = qemu_rbd_co_create,
1184 .bdrv_co_create_opts = qemu_rbd_co_create_opts,
1185 .bdrv_has_zero_init = bdrv_has_zero_init_1,
1186 .bdrv_get_info = qemu_rbd_getinfo,
1187 .create_opts = &qemu_rbd_create_opts,
1188 .bdrv_getlength = qemu_rbd_getlength,
1187 .bdrv_truncate = qemu_rbd_truncate,
1189 .bdrv_co_truncate = qemu_rbd_co_truncate,
1188 .protocol_name = "rbd",
1189
1190 .bdrv_aio_preadv = qemu_rbd_aio_preadv,
1191 .bdrv_aio_pwritev = qemu_rbd_aio_pwritev,
1192
1193#ifdef LIBRBD_SUPPORTS_AIO_FLUSH
1194 .bdrv_aio_flush = qemu_rbd_aio_flush,
1195#else

--- 22 unchanged lines hidden ---
1190 .protocol_name = "rbd",
1191
1192 .bdrv_aio_preadv = qemu_rbd_aio_preadv,
1193 .bdrv_aio_pwritev = qemu_rbd_aio_pwritev,
1194
1195#ifdef LIBRBD_SUPPORTS_AIO_FLUSH
1196 .bdrv_aio_flush = qemu_rbd_aio_flush,
1197#else

--- 22 unchanged lines hidden ---