Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 872040 Details for
Bug 1048575
Segmentation fault occurs after migrate guest(use scsi disk and add stress) to des machine
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Proof-of-concept forward port of the RHEL 6 patch
rhel7-migration-reopen.patch (text/plain), 2.87 KB, created by
Kevin Wolf
on 2014-03-07 22:35:05 UTC
(
hide
)
Description:
Proof-of-concept forward port of the RHEL 6 patch
Filename:
MIME Type:
Creator:
Kevin Wolf
Created:
2014-03-07 22:35:05 UTC
Size:
2.87 KB
patch
obsolete
>From 7efa5e95e1047be446c12a7d792b0cc467af194a Mon Sep 17 00:00:00 2001 >From: Kevin Wolf <kwolf@redhat.com> >Date: Fri, 7 Mar 2014 23:30:03 +0100 >Subject: [PATCH] migration: Reopen image files after incoming migration > completed > >This is an experimental forward port of RHEL 6 commit db3124b1. > >Signed-off-by: Kevin Wolf <kwolf@redhat.com> >--- > blockdev.c | 31 +++++++++++++++++++++++++++++++ > include/sysemu/blockdev.h | 2 ++ > migration.c | 9 +++++++++ > 3 files changed, 42 insertions(+) > >diff --git a/blockdev.c b/blockdev.c >index e51203c..ebd8705 100644 >--- a/blockdev.c >+++ b/blockdev.c >@@ -291,6 +291,37 @@ static int parse_block_error_action(const char *buf, bool is_read, Error **errp) > } > } > >+int drives_reopen(void) >+{ >+ DriveInfo *dinfo; >+ >+ QTAILQ_FOREACH(dinfo, &drives, next) { >+ BlockDriverState *bs = dinfo->bdrv; >+ if (bs && bs->drv && !bdrv_is_read_only(bs)) { >+ int res; >+ >+ const char *file = g_strdup(bs->filename); >+ QDict *options = qdict_clone_shallow(bs->options); >+ int bdrv_flags = bs->open_flags; >+ BlockDriver *drv = bs->drv; >+ >+ if (runstate_check(RUN_STATE_INMIGRATE)) { >+ bdrv_flags |= BDRV_O_INCOMING; >+ } >+ >+ bdrv_close(dinfo->bdrv); >+ >+ res = bdrv_open(bs, file, options, bdrv_flags, drv, NULL); >+ if (res) { >+ fprintf(stderr, "qemu: re-open of %s failed wth error %d\n", >+ file, res); >+ return res; >+ } >+ } >+ } >+ return 0; >+} >+ > static bool do_check_io_limits(BlockIOLimit *io_limits, Error **errp) > { > bool bps_flag; >diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h >index 74e1cea..72a4490 100644 >--- a/include/sysemu/blockdev.h >+++ b/include/sysemu/blockdev.h >@@ -59,6 +59,8 @@ QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file, > const char *optstr); > DriveInfo *drive_init(QemuOpts *arg, BlockInterfaceType block_default_type); > >+extern int drives_reopen(void); >+ > /* device-hotplug */ > > DriveInfo *add_init_drive(const char *opts); >diff --git a/migration.c b/migration.c >index 93de654..5460798 100644 >--- a/migration.c >+++ b/migration.c >@@ -18,6 +18,7 @@ > #include "monitor/monitor.h" > #include "migration/qemu-file.h" > #include "sysemu/sysemu.h" >+#include "sysemu/blockdev.h" > #include "block/block.h" > #include "qemu/sockets.h" > #include "migration/block.h" >@@ -114,7 +115,15 @@ static void process_incoming_migration_co(void *opaque) > > bdrv_clear_incoming_migration_all(); > /* Make sure all file formats flush their mutable metadata */ >+#if 0 > bdrv_invalidate_cache_all(); >+#else >+ if (drives_reopen() != 0) { >+ fprintf(stderr, "reopening of drives failed\n"); >+ exit(1); >+ } >+#endif >+ > > if (autostart) { > vm_start(); >-- >1.8.1.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1048575
: 872040 |
872045