block: create bdrv_get_backing_file_depth()
Create bdrv_get_backing_file_depth() in order to be able to show in QMP and HMP how many ancestors backing an image a block device have. Signed-off-by: Benoit Canet <benoit@irqsave.net> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
		
							parent
							
								
									e0d45df7a5
								
							
						
					
					
						commit
						f198fd1c9a
					
				
							
								
								
									
										13
									
								
								block.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								block.c
									
									
									
									
									
								
							@ -2754,6 +2754,19 @@ BlockDriverState *bdrv_find_backing_image(BlockDriverState *bs,
 | 
				
			|||||||
    return NULL;
 | 
					    return NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int bdrv_get_backing_file_depth(BlockDriverState *bs)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (!bs->drv) {
 | 
				
			||||||
 | 
					        return 0;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!bs->backing_hd) {
 | 
				
			||||||
 | 
					        return 0;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return 1 + bdrv_get_backing_file_depth(bs->backing_hd);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define NB_SUFFIXES 4
 | 
					#define NB_SUFFIXES 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char *get_human_readable_size(char *buf, int buf_size, int64_t size)
 | 
					char *get_human_readable_size(char *buf, int buf_size, int64_t size)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								block.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								block.h
									
									
									
									
									
								
							@ -174,6 +174,7 @@ int coroutine_fn bdrv_co_is_allocated_above(BlockDriverState *top,
 | 
				
			|||||||
                                            int nb_sectors, int *pnum);
 | 
					                                            int nb_sectors, int *pnum);
 | 
				
			||||||
BlockDriverState *bdrv_find_backing_image(BlockDriverState *bs,
 | 
					BlockDriverState *bdrv_find_backing_image(BlockDriverState *bs,
 | 
				
			||||||
    const char *backing_file);
 | 
					    const char *backing_file);
 | 
				
			||||||
 | 
					int bdrv_get_backing_file_depth(BlockDriverState *bs);
 | 
				
			||||||
int bdrv_truncate(BlockDriverState *bs, int64_t offset);
 | 
					int bdrv_truncate(BlockDriverState *bs, int64_t offset);
 | 
				
			||||||
int64_t bdrv_getlength(BlockDriverState *bs);
 | 
					int64_t bdrv_getlength(BlockDriverState *bs);
 | 
				
			||||||
int64_t bdrv_get_allocated_file_size(BlockDriverState *bs);
 | 
					int64_t bdrv_get_allocated_file_size(BlockDriverState *bs);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user