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; | ||||
|     BDRVQcowState *s = bs->opaque; | ||||
|     int index_in_cluster; | ||||
|     int ret, n = 0; | ||||
|     uint64_t cluster_offset = 0; | ||||
|     int ret, n; | ||||
|     uint64_t cluster_offset; | ||||
|     struct iovec hd_iov; | ||||
|     QEMUIOVector hd_qiov; | ||||
| 
 | ||||
|  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) { | ||||
|         /* request completed */ | ||||
|         return 0; | ||||
|     } | ||||
| 
 | ||||
|     /* prepare next AIO request */ | ||||
|     /* prepare next request */ | ||||
|     cluster_offset = get_cluster_offset(bs, acb->sector_num << 9, | ||||
|                                              0, 0, 0, 0); | ||||
|     index_in_cluster = acb->sector_num & (s->cluster_sectors - 1); | ||||
| @ -575,7 +558,6 @@ static int qcow_aio_read_cb(QCowAIOCB *acb) | ||||
|         } else { | ||||
|             /* Note: in this case, no need to wait */ | ||||
|             memset(acb->buf, 0, 512 * n); | ||||
|             goto redo; | ||||
|         } | ||||
|     } else if (cluster_offset & QCOW_OFLAG_COMPRESSED) { | ||||
|         /* add AIO support for compressed blocks ? */ | ||||
| @ -584,7 +566,6 @@ static int qcow_aio_read_cb(QCowAIOCB *acb) | ||||
|         } | ||||
|         memcpy(acb->buf, | ||||
|                s->cluster_cache + index_in_cluster * 512, 512 * n); | ||||
|         goto redo; | ||||
|     } else { | ||||
|         if ((cluster_offset & 511) != 0) { | ||||
|             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; | ||||
| } | ||||
| 
 | ||||
| @ -633,16 +631,12 @@ static int qcow_aio_write_cb(QCowAIOCB *acb) | ||||
|     int index_in_cluster; | ||||
|     uint64_t cluster_offset; | ||||
|     const uint8_t *src_buf; | ||||
|     int ret, n = 0; | ||||
|     int ret, n; | ||||
|     uint8_t *cluster_data = NULL; | ||||
|     struct iovec hd_iov; | ||||
|     QEMUIOVector hd_qiov; | ||||
| 
 | ||||
| redo: | ||||
|     acb->nb_sectors -= n; | ||||
|     acb->sector_num += n; | ||||
|     acb->buf += n * 512; | ||||
| 
 | ||||
|     if (acb->nb_sectors == 0) { | ||||
|         /* request completed */ | ||||
|         return 0; | ||||
| @ -685,6 +679,11 @@ redo: | ||||
|     if (ret < 0) { | ||||
|         return ret; | ||||
|     } | ||||
| 
 | ||||
|     acb->nb_sectors -= n; | ||||
|     acb->sector_num += n; | ||||
|     acb->buf += n * 512; | ||||
| 
 | ||||
|     goto redo; | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Frediano Ziglio
						Frediano Ziglio