quorum.c (ae2b87341b5ddb0dcb1b3f2d4f586ef18de75873) | quorum.c (c86422c5549c0983b4b4525b8f56a1c69dd67aa1) |
---|---|
1/* 2 * Quorum Block filter 3 * 4 * Copyright (C) 2012-2014 Nodalink, EURL. 5 * 6 * Author: 7 * Benoît Canet <benoit.canet@irqsave.net> 8 * --- 740 unchanged lines hidden (view full) --- 749 int64_t offset, int64_t bytes, 750 BdrvRequestFlags flags) 751 752{ 753 return quorum_co_pwritev(bs, offset, bytes, NULL, 754 flags | BDRV_REQ_ZERO_WRITE); 755} 756 | 1/* 2 * Quorum Block filter 3 * 4 * Copyright (C) 2012-2014 Nodalink, EURL. 5 * 6 * Author: 7 * Benoît Canet <benoit.canet@irqsave.net> 8 * --- 740 unchanged lines hidden (view full) --- 749 int64_t offset, int64_t bytes, 750 BdrvRequestFlags flags) 751 752{ 753 return quorum_co_pwritev(bs, offset, bytes, NULL, 754 flags | BDRV_REQ_ZERO_WRITE); 755} 756 |
757static int64_t quorum_getlength(BlockDriverState *bs) | 757static int64_t coroutine_fn quorum_co_getlength(BlockDriverState *bs) |
758{ 759 BDRVQuorumState *s = bs->opaque; 760 int64_t result; 761 int i; 762 763 /* check that all file have the same length */ | 758{ 759 BDRVQuorumState *s = bs->opaque; 760 int64_t result; 761 int i; 762 763 /* check that all file have the same length */ |
764 result = bdrv_getlength(s->children[0]->bs); | 764 result = bdrv_co_getlength(s->children[0]->bs); |
765 if (result < 0) { 766 return result; 767 } 768 for (i = 1; i < s->num_children; i++) { | 765 if (result < 0) { 766 return result; 767 } 768 for (i = 1; i < s->num_children; i++) { |
769 int64_t value = bdrv_getlength(s->children[i]->bs); | 769 int64_t value = bdrv_co_getlength(s->children[i]->bs); |
770 if (value < 0) { 771 return value; 772 } 773 if (value != result) { 774 return -EIO; 775 } 776 } 777 --- 500 unchanged lines hidden (view full) --- 1278 .bdrv_open = quorum_open, 1279 .bdrv_close = quorum_close, 1280 .bdrv_gather_child_options = quorum_gather_child_options, 1281 .bdrv_dirname = quorum_dirname, 1282 .bdrv_co_block_status = quorum_co_block_status, 1283 1284 .bdrv_co_flush = quorum_co_flush, 1285 | 770 if (value < 0) { 771 return value; 772 } 773 if (value != result) { 774 return -EIO; 775 } 776 } 777 --- 500 unchanged lines hidden (view full) --- 1278 .bdrv_open = quorum_open, 1279 .bdrv_close = quorum_close, 1280 .bdrv_gather_child_options = quorum_gather_child_options, 1281 .bdrv_dirname = quorum_dirname, 1282 .bdrv_co_block_status = quorum_co_block_status, 1283 1284 .bdrv_co_flush = quorum_co_flush, 1285 |
1286 .bdrv_getlength = quorum_getlength, | 1286 .bdrv_co_getlength = quorum_co_getlength, |
1287 1288 .bdrv_co_preadv = quorum_co_preadv, 1289 .bdrv_co_pwritev = quorum_co_pwritev, 1290 .bdrv_co_pwrite_zeroes = quorum_co_pwrite_zeroes, 1291 1292 .bdrv_add_child = quorum_add_child, 1293 .bdrv_del_child = quorum_del_child, 1294 --- 17 unchanged lines hidden --- | 1287 1288 .bdrv_co_preadv = quorum_co_preadv, 1289 .bdrv_co_pwritev = quorum_co_pwritev, 1290 .bdrv_co_pwrite_zeroes = quorum_co_pwrite_zeroes, 1291 1292 .bdrv_add_child = quorum_add_child, 1293 .bdrv_del_child = quorum_del_child, 1294 --- 17 unchanged lines hidden --- |