Revert "qemu-img info: show nocow info"
This reverts commit 000c4dfff4.
The main reason for reverting this commit before the 2.2 release is that
it adds a QAPI interface that we don't want to keep: The 'nocow' flag
doesn't generally make sense for block nodes, but only for the raw-posix
driver. It should therefore be part of ImageInfoSpecific rather than
ImageInfo.
The commit contains more problems, but unlike the API stability issue
they wouldn't justify reverting it.
Conflicts:
	block/qapi.c
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									0e88f47850
								
							
						
					
					
						commit
						24bf10dac3
					
				
							
								
								
									
										26
									
								
								block/qapi.c
								
								
								
								
							
							
						
						
									
										26
									
								
								block/qapi.c
								
								
								
								
							| 
						 | 
				
			
			@ -29,13 +29,6 @@
 | 
			
		|||
#include "qapi/qmp-output-visitor.h"
 | 
			
		||||
#include "qapi/qmp/types.h"
 | 
			
		||||
#include "sysemu/block-backend.h"
 | 
			
		||||
#ifdef __linux__
 | 
			
		||||
#include <linux/fs.h>
 | 
			
		||||
#include <sys/ioctl.h>
 | 
			
		||||
#ifndef FS_NOCOW_FL
 | 
			
		||||
#define FS_NOCOW_FL                     0x00800000 /* Do not cow file */
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
BlockDeviceInfo *bdrv_block_device_info(BlockDriverState *bs)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -180,9 +173,6 @@ void bdrv_query_image_info(BlockDriverState *bs,
 | 
			
		|||
    int ret;
 | 
			
		||||
    Error *err = NULL;
 | 
			
		||||
    ImageInfo *info;
 | 
			
		||||
#ifdef __linux__
 | 
			
		||||
    int fd, attr;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    size = bdrv_getlength(bs);
 | 
			
		||||
    if (size < 0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -212,18 +202,6 @@ void bdrv_query_image_info(BlockDriverState *bs,
 | 
			
		|||
    info->format_specific     = bdrv_get_specific_info(bs);
 | 
			
		||||
    info->has_format_specific = info->format_specific != NULL;
 | 
			
		||||
 | 
			
		||||
#ifdef __linux__
 | 
			
		||||
    /* get NOCOW info */
 | 
			
		||||
    fd = qemu_open(bs->filename, O_RDONLY | O_NONBLOCK);
 | 
			
		||||
    if (fd >= 0) {
 | 
			
		||||
        if (ioctl(fd, FS_IOC_GETFLAGS, &attr) == 0 && (attr & FS_NOCOW_FL)) {
 | 
			
		||||
            info->has_nocow = true;
 | 
			
		||||
            info->nocow = true;
 | 
			
		||||
        }
 | 
			
		||||
        qemu_close(fd);
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    backing_filename = bs->backing_file;
 | 
			
		||||
    if (backing_filename[0] != '\0') {
 | 
			
		||||
        info->backing_filename = g_strdup(backing_filename);
 | 
			
		||||
| 
						 | 
				
			
			@ -655,8 +633,4 @@ void bdrv_image_info_dump(fprintf_function func_fprintf, void *f,
 | 
			
		|||
        func_fprintf(f, "Format specific information:\n");
 | 
			
		||||
        bdrv_image_info_specific_dump(func_fprintf, f, info->format_specific);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (info->has_nocow && info->nocow) {
 | 
			
		||||
        func_fprintf(f, "NOCOW flag: set\n");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,8 +119,6 @@
 | 
			
		|||
# @format-specific: #optional structure supplying additional format-specific
 | 
			
		||||
# information (since 1.7)
 | 
			
		||||
#
 | 
			
		||||
# @nocow: #optional info of whether NOCOW flag is set or not. (since 2.2)
 | 
			
		||||
#
 | 
			
		||||
# Since: 1.3
 | 
			
		||||
#
 | 
			
		||||
##
 | 
			
		||||
| 
						 | 
				
			
			@ -132,8 +130,7 @@
 | 
			
		|||
           '*backing-filename': 'str', '*full-backing-filename': 'str',
 | 
			
		||||
           '*backing-filename-format': 'str', '*snapshots': ['SnapshotInfo'],
 | 
			
		||||
           '*backing-image': 'ImageInfo',
 | 
			
		||||
           '*format-specific': 'ImageInfoSpecific',
 | 
			
		||||
           '*nocow': 'bool' } }
 | 
			
		||||
           '*format-specific': 'ImageInfoSpecific' } }
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
# @ImageCheck:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue