qcow: move some blocks of code to avoid useless variable initialization
Signed-off-by: Frediano Ziglio <freddy77@gmail.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									430bbaaa95
								
							
						
					
					
						commit
						43ca85b559
					
				
							
								
								
									
										53
									
								
								block/qcow.c
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								block/qcow.c
									
									
									
									
									
								
							| @ -522,35 +522,18 @@ static int qcow_aio_read_cb(QCowAIOCB *acb) | |||||||
|     BlockDriverState *bs = acb->bs; |     BlockDriverState *bs = acb->bs; | ||||||
|     BDRVQcowState *s = bs->opaque; |     BDRVQcowState *s = bs->opaque; | ||||||
|     int index_in_cluster; |     int index_in_cluster; | ||||||
|     int ret, n = 0; |     int ret, n; | ||||||
|     uint64_t cluster_offset = 0; |     uint64_t cluster_offset; | ||||||
|     struct iovec hd_iov; |     struct iovec hd_iov; | ||||||
|     QEMUIOVector hd_qiov; |     QEMUIOVector hd_qiov; | ||||||
| 
 | 
 | ||||||
|  redo: |  redo: | ||||||
|     /* post process the read buffer */ |  | ||||||
|     if (!cluster_offset) { |  | ||||||
|         /* nothing to do */ |  | ||||||
|     } else if (cluster_offset & QCOW_OFLAG_COMPRESSED) { |  | ||||||
|         /* nothing to do */ |  | ||||||
|     } else { |  | ||||||
|         if (s->crypt_method) { |  | ||||||
|             encrypt_sectors(s, acb->sector_num, acb->buf, acb->buf, |  | ||||||
|                             n, 0, |  | ||||||
|                             &s->aes_decrypt_key); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     acb->nb_sectors -= n; |  | ||||||
|     acb->sector_num += n; |  | ||||||
|     acb->buf += n * 512; |  | ||||||
| 
 |  | ||||||
|     if (acb->nb_sectors == 0) { |     if (acb->nb_sectors == 0) { | ||||||
|         /* request completed */ |         /* request completed */ | ||||||
|         return 0; |         return 0; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /* prepare next AIO request */ |     /* prepare next request */ | ||||||
|     cluster_offset = get_cluster_offset(bs, acb->sector_num << 9, |     cluster_offset = get_cluster_offset(bs, acb->sector_num << 9, | ||||||
|                                              0, 0, 0, 0); |                                              0, 0, 0, 0); | ||||||
|     index_in_cluster = acb->sector_num & (s->cluster_sectors - 1); |     index_in_cluster = acb->sector_num & (s->cluster_sectors - 1); | ||||||
| @ -575,7 +558,6 @@ static int qcow_aio_read_cb(QCowAIOCB *acb) | |||||||
|         } else { |         } else { | ||||||
|             /* Note: in this case, no need to wait */ |             /* Note: in this case, no need to wait */ | ||||||
|             memset(acb->buf, 0, 512 * n); |             memset(acb->buf, 0, 512 * n); | ||||||
|             goto redo; |  | ||||||
|         } |         } | ||||||
|     } else if (cluster_offset & QCOW_OFLAG_COMPRESSED) { |     } else if (cluster_offset & QCOW_OFLAG_COMPRESSED) { | ||||||
|         /* add AIO support for compressed blocks ? */ |         /* add AIO support for compressed blocks ? */ | ||||||
| @ -584,7 +566,6 @@ static int qcow_aio_read_cb(QCowAIOCB *acb) | |||||||
|         } |         } | ||||||
|         memcpy(acb->buf, |         memcpy(acb->buf, | ||||||
|                s->cluster_cache + index_in_cluster * 512, 512 * n); |                s->cluster_cache + index_in_cluster * 512, 512 * n); | ||||||
|         goto redo; |  | ||||||
|     } else { |     } else { | ||||||
|         if ((cluster_offset & 511) != 0) { |         if ((cluster_offset & 511) != 0) { | ||||||
|             return -EIO; |             return -EIO; | ||||||
| @ -602,6 +583,23 @@ static int qcow_aio_read_cb(QCowAIOCB *acb) | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     /* post process the read buffer */ | ||||||
|  |     if (!cluster_offset) { | ||||||
|  |         /* nothing to do */ | ||||||
|  |     } else if (cluster_offset & QCOW_OFLAG_COMPRESSED) { | ||||||
|  |         /* nothing to do */ | ||||||
|  |     } else { | ||||||
|  |         if (s->crypt_method) { | ||||||
|  |             encrypt_sectors(s, acb->sector_num, acb->buf, acb->buf, | ||||||
|  |                             n, 0, | ||||||
|  |                             &s->aes_decrypt_key); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     acb->nb_sectors -= n; | ||||||
|  |     acb->sector_num += n; | ||||||
|  |     acb->buf += n * 512; | ||||||
|  | 
 | ||||||
|     goto redo; |     goto redo; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -633,16 +631,12 @@ static int qcow_aio_write_cb(QCowAIOCB *acb) | |||||||
|     int index_in_cluster; |     int index_in_cluster; | ||||||
|     uint64_t cluster_offset; |     uint64_t cluster_offset; | ||||||
|     const uint8_t *src_buf; |     const uint8_t *src_buf; | ||||||
|     int ret, n = 0; |     int ret, n; | ||||||
|     uint8_t *cluster_data = NULL; |     uint8_t *cluster_data = NULL; | ||||||
|     struct iovec hd_iov; |     struct iovec hd_iov; | ||||||
|     QEMUIOVector hd_qiov; |     QEMUIOVector hd_qiov; | ||||||
| 
 | 
 | ||||||
| redo: | redo: | ||||||
|     acb->nb_sectors -= n; |  | ||||||
|     acb->sector_num += n; |  | ||||||
|     acb->buf += n * 512; |  | ||||||
| 
 |  | ||||||
|     if (acb->nb_sectors == 0) { |     if (acb->nb_sectors == 0) { | ||||||
|         /* request completed */ |         /* request completed */ | ||||||
|         return 0; |         return 0; | ||||||
| @ -685,6 +679,11 @@ redo: | |||||||
|     if (ret < 0) { |     if (ret < 0) { | ||||||
|         return ret; |         return ret; | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     acb->nb_sectors -= n; | ||||||
|  |     acb->sector_num += n; | ||||||
|  |     acb->buf += n * 512; | ||||||
|  | 
 | ||||||
|     goto redo; |     goto redo; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Frediano Ziglio
						Frediano Ziglio