Commit ade406775d3795141927bdd581edee2cb44da864

Authored by Kevin Wolf
Committed by Anthony Liguori
1 parent cab3c825

qcow/qcow2: Drop synchronous qcow_write()

There is only one (internal) user left and it can be switched to the normal
emulation provided in block.c

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing 2 changed files with 2 additions and 77 deletions
block/qcow.c
... ... @@ -488,41 +488,6 @@ static int qcow_read(BlockDriverState *bs, int64_t sector_num,
488 488 }
489 489 #endif
490 490  
491   -static int qcow_write(BlockDriverState *bs, int64_t sector_num,
492   - const uint8_t *buf, int nb_sectors)
493   -{
494   - BDRVQcowState *s = bs->opaque;
495   - int ret, index_in_cluster, n;
496   - uint64_t cluster_offset;
497   -
498   - while (nb_sectors > 0) {
499   - index_in_cluster = sector_num & (s->cluster_sectors - 1);
500   - n = s->cluster_sectors - index_in_cluster;
501   - if (n > nb_sectors)
502   - n = nb_sectors;
503   - cluster_offset = get_cluster_offset(bs, sector_num << 9, 1, 0,
504   - index_in_cluster,
505   - index_in_cluster + n);
506   - if (!cluster_offset)
507   - return -1;
508   - if (s->crypt_method) {
509   - encrypt_sectors(s, sector_num, s->cluster_data, buf, n, 1,
510   - &s->aes_encrypt_key);
511   - ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512,
512   - s->cluster_data, n * 512);
513   - } else {
514   - ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512, buf, n * 512);
515   - }
516   - if (ret != n * 512)
517   - return -1;
518   - nb_sectors -= n;
519   - sector_num += n;
520   - buf += n * 512;
521   - }
522   - s->cluster_cache_offset = -1; /* disable compressed cache */
523   - return 0;
524   -}
525   -
526 491 typedef struct QCowAIOCB {
527 492 BlockDriverAIOCB common;
528 493 int64_t sector_num;
... ... @@ -904,7 +869,7 @@ static int qcow_write_compressed(BlockDriverState *bs, int64_t sector_num,
904 869  
905 870 if (ret != Z_STREAM_END || out_len >= s->cluster_size) {
906 871 /* could not compress: write normal cluster */
907   - qcow_write(bs, sector_num, buf, s->cluster_sectors);
  872 + bdrv_write(bs, sector_num, buf, s->cluster_sectors);
908 873 } else {
909 874 cluster_offset = get_cluster_offset(bs, sector_num << 9, 2,
910 875 out_len, 0, 0);
... ...
block/qcow2.c
... ... @@ -1229,46 +1229,6 @@ static int qcow_read(BlockDriverState *bs, int64_t sector_num,
1229 1229 return 0;
1230 1230 }
1231 1231  
1232   -static int qcow_write(BlockDriverState *bs, int64_t sector_num,
1233   - const uint8_t *buf, int nb_sectors)
1234   -{
1235   - BDRVQcowState *s = bs->opaque;
1236   - int ret, index_in_cluster, n;
1237   - uint64_t cluster_offset;
1238   - int n_end;
1239   - QCowL2Meta l2meta;
1240   -
1241   - while (nb_sectors > 0) {
1242   - index_in_cluster = sector_num & (s->cluster_sectors - 1);
1243   - n_end = index_in_cluster + nb_sectors;
1244   - if (s->crypt_method &&
1245   - n_end > QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors)
1246   - n_end = QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors;
1247   - cluster_offset = alloc_cluster_offset(bs, sector_num << 9,
1248   - index_in_cluster,
1249   - n_end, &n, &l2meta);
1250   - if (!cluster_offset)
1251   - return -1;
1252   - if (s->crypt_method) {
1253   - encrypt_sectors(s, sector_num, s->cluster_data, buf, n, 1,
1254   - &s->aes_encrypt_key);
1255   - ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512,
1256   - s->cluster_data, n * 512);
1257   - } else {
1258   - ret = bdrv_pwrite(s->hd, cluster_offset + index_in_cluster * 512, buf, n * 512);
1259   - }
1260   - if (ret != n * 512 || alloc_cluster_link_l2(bs, cluster_offset, &l2meta) < 0) {
1261   - free_any_clusters(bs, cluster_offset, l2meta.nb_clusters);
1262   - return -1;
1263   - }
1264   - nb_sectors -= n;
1265   - sector_num += n;
1266   - buf += n * 512;
1267   - }
1268   - s->cluster_cache_offset = -1; /* disable compressed cache */
1269   - return 0;
1270   -}
1271   -
1272 1232 typedef struct QCowAIOCB {
1273 1233 BlockDriverAIOCB common;
1274 1234 int64_t sector_num;
... ... @@ -1834,7 +1794,7 @@ static int qcow_write_compressed(BlockDriverState *bs, int64_t sector_num,
1834 1794  
1835 1795 if (ret != Z_STREAM_END || out_len >= s->cluster_size) {
1836 1796 /* could not compress: write normal cluster */
1837   - qcow_write(bs, sector_num, buf, s->cluster_sectors);
  1797 + bdrv_write(bs, sector_num, buf, s->cluster_sectors);
1838 1798 } else {
1839 1799 cluster_offset = alloc_compressed_cluster_offset(bs, sector_num << 9,
1840 1800 out_len);
... ...