Lines Matching +full:next +full:- +full:level +full:- +full:cache

7  * Copyright (c) 2003-2008 Fabrice Bellard
10 * See the COPYING file in the top-level directory.
11 * Contributions after 2012-01-13 are licensed under the terms of the
17 * Copyright (c) 2003-2008 Fabrice Bellard
40 #include "system/block-backend.h"
42 #include "qapi/qapi-commands-block.h"
43 #include "qapi/qapi-commands-block-export.h"
47 #include "qemu/config-file.h"
51 #include "qemu/error-report.h"
58 #include "block/block-hmp-cmds.h"
59 #include "qemu-io.h"
74 if (!qdict_get_try_str(qdict, "node-name")) { in hmp_drive_add_node()
76 error_report("'node-name' needs to be specified"); in hmp_drive_add_node()
110 dinfo = drive_new(opts, mc->block_default_type, &err); in hmp_drive_add()
121 switch (dinfo->type) { in hmp_drive_add()
126 monitor_printf(mon, "Can't hot-add drive to type %d\n", dinfo->type); in hmp_drive_add()
165 error_report("Deleting device added with blockdev-add" in hmp_drive_del()
226 error_report("'commit' error for '%s': %s", device, strerror(-ret)); in hmp_commit()
341 const char *filename = qdict_get_try_str(qdict, "snapshot-file"); in hmp_snapshot_blkdev()
349 * In the future, if 'snapshot-file' is not specified, the snapshot in hmp_snapshot_blkdev()
352 error_setg(&err, QERR_MISSING_PARAMETER, "snapshot-file"); in hmp_snapshot_blkdev()
395 error_setg(&local_err, "-w only valid together with -a"); in hmp_nbd_server_start()
421 for (info = block_list; info; info = info->next) { in hmp_nbd_server_start()
422 if (!info->value->inserted) { in hmp_nbd_server_start()
427 .device = info->value->device, in hmp_nbd_server_start()
583 * limiting the use cases of the qemu-io HMP command. in hmp_qemu_io()
591 * draining all requests on it first, but some qemu-iotests cases want to in hmp_qemu_io()
600 * What happens now is that command() in qemu-io-cmds.c can extend the in hmp_qemu_io()
601 * permissions if necessary for the qemu-io command. And they simply stay in hmp_qemu_io()
602 * extended, possibly resulting in a read-only guest device keeping write in hmp_qemu_io()
617 assert(!info || !info->inserted || info->inserted == inserted); in print_block_info()
619 if (info && *info->device) { in print_block_info()
620 monitor_puts(mon, info->device); in print_block_info()
621 if (inserted && inserted->node_name) { in print_block_info()
622 monitor_printf(mon, " (%s)", inserted->node_name); in print_block_info()
627 inserted && inserted->node_name ? inserted->node_name in print_block_info()
628 : info && info->qdev ? info->qdev in print_block_info()
634 inserted->file, in print_block_info()
635 inserted->drv, in print_block_info()
636 inserted->ro ? ", read-only" : "", in print_block_info()
637 inserted->encrypted ? ", encrypted" : "", in print_block_info()
638 inserted->active ? "" : ", inactive"); in print_block_info()
644 if (info->qdev) { in print_block_info()
645 monitor_printf(mon, " Attached to: %s\n", info->qdev); in print_block_info()
647 if (info->has_io_status && info->io_status != BLOCK_DEVICE_IO_STATUS_OK) { in print_block_info()
649 BlockDeviceIoStatus_str(info->io_status)); in print_block_info()
652 if (info->removable) { in print_block_info()
654 info->locked ? "" : "not ", in print_block_info()
655 info->tray_open ? "open" : "closed"); in print_block_info()
664 monitor_printf(mon, " Cache mode: %s%s%s\n", in print_block_info()
665 inserted->cache->writeback ? "writeback" : "writethrough", in print_block_info()
666 inserted->cache->direct ? ", direct" : "", in print_block_info()
667 inserted->cache->no_flush ? ", ignore flushes" : ""); in print_block_info()
669 if (inserted->backing_file) { in print_block_info()
673 inserted->backing_file, in print_block_info()
674 inserted->backing_file_depth); in print_block_info()
677 if (inserted->detect_zeroes != BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF) { in print_block_info()
679 BlockdevDetectZeroesOptions_str(inserted->detect_zeroes)); in print_block_info()
682 if (inserted->bps || inserted->bps_rd || inserted->bps_wr || in print_block_info()
683 inserted->iops || inserted->iops_rd || inserted->iops_wr) in print_block_info()
697 inserted->bps, in print_block_info()
698 inserted->bps_rd, in print_block_info()
699 inserted->bps_wr, in print_block_info()
700 inserted->bps_max, in print_block_info()
701 inserted->bps_rd_max, in print_block_info()
702 inserted->bps_wr_max, in print_block_info()
703 inserted->iops, in print_block_info()
704 inserted->iops_rd, in print_block_info()
705 inserted->iops_wr, in print_block_info()
706 inserted->iops_max, in print_block_info()
707 inserted->iops_rd_max, in print_block_info()
708 inserted->iops_wr_max, in print_block_info()
709 inserted->iops_size, in print_block_info()
710 inserted->group); in print_block_info()
715 image_info = inserted->image; in print_block_info()
718 if (image_info->backing_image) { in print_block_info()
719 image_info = image_info->backing_image; in print_block_info()
743 for (info = block_list; info; info = info->next) { in hmp_info_block()
744 if (device && strcmp(device, info->value->device)) { in hmp_info_block()
752 print_block_info(mon, info->value, info->value->inserted, in hmp_info_block()
765 for (blockdev = blockdev_list; blockdev; blockdev = blockdev->next) { in hmp_info_block()
766 assert(blockdev->value->node_name); in hmp_info_block()
767 if (device && strcmp(device, blockdev->value->node_name)) { in hmp_info_block()
775 print_block_info(mon, NULL, blockdev->value, verbose); in hmp_info_block()
786 for (stats = stats_list; stats; stats = stats->next) { in hmp_info_blockstats()
787 if (!stats->value->device) { in hmp_info_blockstats()
791 monitor_printf(mon, "%s:", stats->value->device); in hmp_info_blockstats()
804 stats->value->stats->rd_bytes, in hmp_info_blockstats()
805 stats->value->stats->wr_bytes, in hmp_info_blockstats()
806 stats->value->stats->rd_operations, in hmp_info_blockstats()
807 stats->value->stats->wr_operations, in hmp_info_blockstats()
808 stats->value->stats->flush_operations, in hmp_info_blockstats()
809 stats->value->stats->wr_total_time_ns, in hmp_info_blockstats()
810 stats->value->stats->rd_total_time_ns, in hmp_info_blockstats()
811 stats->value->stats->flush_total_time_ns, in hmp_info_blockstats()
812 stats->value->stats->rd_merged, in hmp_info_blockstats()
813 stats->value->stats->wr_merged, in hmp_info_blockstats()
814 stats->value->stats->idle_time_ns); in hmp_info_blockstats()
832 if (list->value->type == JOB_TYPE_STREAM) { in hmp_info_block_jobs()
836 list->value->device, in hmp_info_block_jobs()
837 list->value->offset, in hmp_info_block_jobs()
838 list->value->len, in hmp_info_block_jobs()
839 list->value->speed); in hmp_info_block_jobs()
844 JobType_str(list->value->type), in hmp_info_block_jobs()
845 list->value->device, in hmp_info_block_jobs()
846 list->value->offset, in hmp_info_block_jobs()
847 list->value->len, in hmp_info_block_jobs()
848 list->value->speed); in hmp_info_block_jobs()
850 list = list->next; in hmp_info_block_jobs()
868 QTAILQ_ENTRY(SnapshotEntry) next; in hmp_info_snapshots()
873 QTAILQ_ENTRY(ImageEntry) next; in hmp_info_snapshots()
910 ie->imagename = bdrv_get_device_name(bs1); in hmp_info_snapshots()
911 QTAILQ_INIT(&ie->snapshots); in hmp_info_snapshots()
912 QTAILQ_INSERT_TAIL(&image_list, ie, next); in hmp_info_snapshots()
915 se->sn = sn[i]; in hmp_info_snapshots()
916 QTAILQ_INSERT_TAIL(&ie->snapshots, se, next); in hmp_info_snapshots()
935 QTAILQ_FOREACH(image_entry, &image_list, next) { in hmp_info_snapshots()
936 QTAILQ_FOREACH_SAFE(snapshot_entry, &image_entry->snapshots, in hmp_info_snapshots()
937 next, next_sn) { in hmp_info_snapshots()
938 if (!strcmp(sn_tab[i].name, snapshot_entry->sn.name)) { in hmp_info_snapshots()
939 QTAILQ_REMOVE(&image_entry->snapshots, snapshot_entry, in hmp_info_snapshots()
940 next); in hmp_info_snapshots()
958 pstrcpy(sn->id_str, sizeof(sn->id_str), "--"); in hmp_info_snapshots()
966 QTAILQ_FOREACH(image_entry, &image_list, next) { in hmp_info_snapshots()
967 if (QTAILQ_EMPTY(&image_entry->snapshots)) { in hmp_info_snapshots()
971 "\nList of partial (non-loadable) snapshots on '%s':\n", in hmp_info_snapshots()
972 image_entry->imagename); in hmp_info_snapshots()
975 QTAILQ_FOREACH(snapshot_entry, &image_entry->snapshots, next) { in hmp_info_snapshots()
976 bdrv_snapshot_dump(&snapshot_entry->sn); in hmp_info_snapshots()
981 QTAILQ_FOREACH_SAFE(image_entry, &image_list, next, next_ie) { in hmp_info_snapshots()
983 QTAILQ_FOREACH_SAFE(snapshot_entry, &image_entry->snapshots, next, in hmp_info_snapshots()