Commit 24bf10da authored by Kevin Wolf's avatar Kevin Wolf
Browse files

Revert "qemu-img info: show nocow info"



This reverts commit 000c4dff.

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: default avatarKevin Wolf <kwolf@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent 0e88f478
Loading
Loading
Loading
Loading
+0 −26
Original line number Diff line number Diff line
@@ -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");
    }
}
+1 −4
Original line number Diff line number Diff line
@@ -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: