rbd.c (58e2e17dba49b43f4ac9de19468aeae1c787dcc2) | rbd.c (2b148f392b2bfeba76d3e6d9607c3bd072350e8c) |
---|---|
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. --- 1079 unchanged lines hidden (view full) --- 1088 void *opaque) 1089{ 1090 return rbd_start_aio(bs, offset, NULL, bytes, cb, opaque, 1091 RBD_AIO_DISCARD); 1092} 1093#endif 1094 1095#ifdef LIBRBD_SUPPORTS_INVALIDATE | 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. --- 1079 unchanged lines hidden (view full) --- 1088 void *opaque) 1089{ 1090 return rbd_start_aio(bs, offset, NULL, bytes, cb, opaque, 1091 RBD_AIO_DISCARD); 1092} 1093#endif 1094 1095#ifdef LIBRBD_SUPPORTS_INVALIDATE |
1096static void qemu_rbd_invalidate_cache(BlockDriverState *bs, 1097 Error **errp) | 1096static void coroutine_fn qemu_rbd_co_invalidate_cache(BlockDriverState *bs, 1097 Error **errp) |
1098{ 1099 BDRVRBDState *s = bs->opaque; 1100 int r = rbd_invalidate_cache(s->image); 1101 if (r < 0) { 1102 error_setg_errno(errp, -r, "Failed to invalidate the cache"); 1103 } 1104} 1105#endif --- 49 unchanged lines hidden (view full) --- 1155 .bdrv_aio_pdiscard = qemu_rbd_aio_pdiscard, 1156#endif 1157 1158 .bdrv_snapshot_create = qemu_rbd_snap_create, 1159 .bdrv_snapshot_delete = qemu_rbd_snap_remove, 1160 .bdrv_snapshot_list = qemu_rbd_snap_list, 1161 .bdrv_snapshot_goto = qemu_rbd_snap_rollback, 1162#ifdef LIBRBD_SUPPORTS_INVALIDATE | 1098{ 1099 BDRVRBDState *s = bs->opaque; 1100 int r = rbd_invalidate_cache(s->image); 1101 if (r < 0) { 1102 error_setg_errno(errp, -r, "Failed to invalidate the cache"); 1103 } 1104} 1105#endif --- 49 unchanged lines hidden (view full) --- 1155 .bdrv_aio_pdiscard = qemu_rbd_aio_pdiscard, 1156#endif 1157 1158 .bdrv_snapshot_create = qemu_rbd_snap_create, 1159 .bdrv_snapshot_delete = qemu_rbd_snap_remove, 1160 .bdrv_snapshot_list = qemu_rbd_snap_list, 1161 .bdrv_snapshot_goto = qemu_rbd_snap_rollback, 1162#ifdef LIBRBD_SUPPORTS_INVALIDATE |
1163 .bdrv_invalidate_cache = qemu_rbd_invalidate_cache, | 1163 .bdrv_co_invalidate_cache = qemu_rbd_co_invalidate_cache, |
1164#endif 1165}; 1166 1167static void bdrv_rbd_init(void) 1168{ 1169 bdrv_register(&bdrv_rbd); 1170} 1171 1172block_init(bdrv_rbd_init); | 1164#endif 1165}; 1166 1167static void bdrv_rbd_init(void) 1168{ 1169 bdrv_register(&bdrv_rbd); 1170} 1171 1172block_init(bdrv_rbd_init); |