Revision 1ecda02b savevm.c
b/savevm.c | ||
---|---|---|
1747 | 1747 |
|
1748 | 1748 |
bs = get_bs_snapshots(); |
1749 | 1749 |
if (!bs) { |
1750 |
qemu_error("No block device supports snapshots\n");
|
|
1750 |
error_report("No block device supports snapshots");
|
|
1751 | 1751 |
return -EINVAL; |
1752 | 1752 |
} |
1753 | 1753 |
|
... | ... | |
1759 | 1759 |
if (bdrv_has_snapshot(bs1)) { |
1760 | 1760 |
ret = bdrv_snapshot_goto(bs1, name); |
1761 | 1761 |
if (ret < 0) { |
1762 |
if (bs != bs1) |
|
1763 |
qemu_error("Warning: "); |
|
1764 | 1762 |
switch(ret) { |
1765 | 1763 |
case -ENOTSUP: |
1766 |
qemu_error("Snapshots not supported on device '%s'\n", |
|
1767 |
bdrv_get_device_name(bs1)); |
|
1764 |
error_report("%sSnapshots not supported on device '%s'", |
|
1765 |
bs != bs1 ? "Warning: " : "", |
|
1766 |
bdrv_get_device_name(bs1)); |
|
1768 | 1767 |
break; |
1769 | 1768 |
case -ENOENT: |
1770 |
qemu_error("Could not find snapshot '%s' on device '%s'\n", |
|
1771 |
name, bdrv_get_device_name(bs1)); |
|
1769 |
error_report("%sCould not find snapshot '%s' on device '%s'", |
|
1770 |
bs != bs1 ? "Warning: " : "", |
|
1771 |
name, bdrv_get_device_name(bs1)); |
|
1772 | 1772 |
break; |
1773 | 1773 |
default: |
1774 |
qemu_error("Error %d while activating snapshot on '%s'\n", |
|
1775 |
ret, bdrv_get_device_name(bs1)); |
|
1774 |
error_report("%sError %d while activating snapshot on '%s'", |
|
1775 |
bs != bs1 ? "Warning: " : "", |
|
1776 |
ret, bdrv_get_device_name(bs1)); |
|
1776 | 1777 |
break; |
1777 | 1778 |
} |
1778 | 1779 |
/* fatal on snapshot block device */ |
... | ... | |
1790 | 1791 |
/* restore the VM state */ |
1791 | 1792 |
f = qemu_fopen_bdrv(bs, 0); |
1792 | 1793 |
if (!f) { |
1793 |
qemu_error("Could not open VM state file\n");
|
|
1794 |
error_report("Could not open VM state file");
|
|
1794 | 1795 |
return -EINVAL; |
1795 | 1796 |
} |
1796 | 1797 |
ret = qemu_loadvm_state(f); |
1797 | 1798 |
qemu_fclose(f); |
1798 | 1799 |
if (ret < 0) { |
1799 |
qemu_error("Error %d while loading VM state\n", ret);
|
|
1800 |
error_report("Error %d while loading VM state", ret);
|
|
1800 | 1801 |
return ret; |
1801 | 1802 |
} |
1802 | 1803 |
return 0; |
Also available in: Unified diff