commit: Simplify reopen of base
Since commit bde70715, base is the only node that is reopened in commit_start(). This means that the code, which still involves an explicit BlockReopenQueue, can now be simplified by using bdrv_reopen(). Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com>
This commit is contained in:
		
							parent
							
								
									acebcf8de8
								
							
						
					
					
						commit
						44487eb973
					
				@ -277,7 +277,6 @@ void commit_start(const char *job_id, BlockDriverState *bs,
 | 
				
			|||||||
                  const char *filter_node_name, Error **errp)
 | 
					                  const char *filter_node_name, Error **errp)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    CommitBlockJob *s;
 | 
					    CommitBlockJob *s;
 | 
				
			||||||
    BlockReopenQueue *reopen_queue = NULL;
 | 
					 | 
				
			||||||
    int orig_base_flags;
 | 
					    int orig_base_flags;
 | 
				
			||||||
    BlockDriverState *iter;
 | 
					    BlockDriverState *iter;
 | 
				
			||||||
    BlockDriverState *commit_top_bs = NULL;
 | 
					    BlockDriverState *commit_top_bs = NULL;
 | 
				
			||||||
@ -299,12 +298,7 @@ void commit_start(const char *job_id, BlockDriverState *bs,
 | 
				
			|||||||
    /* convert base to r/w, if necessary */
 | 
					    /* convert base to r/w, if necessary */
 | 
				
			||||||
    orig_base_flags = bdrv_get_flags(base);
 | 
					    orig_base_flags = bdrv_get_flags(base);
 | 
				
			||||||
    if (!(orig_base_flags & BDRV_O_RDWR)) {
 | 
					    if (!(orig_base_flags & BDRV_O_RDWR)) {
 | 
				
			||||||
        reopen_queue = bdrv_reopen_queue(reopen_queue, base, NULL,
 | 
					        bdrv_reopen(base, orig_base_flags | BDRV_O_RDWR, &local_err);
 | 
				
			||||||
                                         orig_base_flags | BDRV_O_RDWR);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (reopen_queue) {
 | 
					 | 
				
			||||||
        bdrv_reopen_multiple(bdrv_get_aio_context(bs), reopen_queue, &local_err);
 | 
					 | 
				
			||||||
        if (local_err != NULL) {
 | 
					        if (local_err != NULL) {
 | 
				
			||||||
            error_propagate(errp, local_err);
 | 
					            error_propagate(errp, local_err);
 | 
				
			||||||
            goto fail;
 | 
					            goto fail;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user