diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-08-10 20:51:11 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-08-10 20:51:11 +0000 |
commit | 3cdfd04b47860811ff2012a7b28964e7499b0bca (patch) | |
tree | a377733797d3f7ed637e09d570a19e193aabd995 /linux-2.4.26-xen-sparse | |
parent | 29ab24c974a09f578e6e8fff173ac0e895a1e9db (diff) | |
download | xen-3cdfd04b47860811ff2012a7b28964e7499b0bca.tar.gz xen-3cdfd04b47860811ff2012a7b28964e7499b0bca.tar.bz2 xen-3cdfd04b47860811ff2012a7b28964e7499b0bca.zip |
bitkeeper revision 1.1159.20.1 (4119353fK0fKs_SYKxrgvHgZ7WbE4Q)
migration blkdev and netdev resume fixes
Diffstat (limited to 'linux-2.4.26-xen-sparse')
-rw-r--r-- | linux-2.4.26-xen-sparse/arch/xen/drivers/blkif/frontend/main.c | 12 | ||||
-rw-r--r-- | linux-2.4.26-xen-sparse/arch/xen/kernel/setup.c | 5 |
2 files changed, 15 insertions, 2 deletions
diff --git a/linux-2.4.26-xen-sparse/arch/xen/drivers/blkif/frontend/main.c b/linux-2.4.26-xen-sparse/arch/xen/drivers/blkif/frontend/main.c index 015d62c624..0d5fd96968 100644 --- a/linux-2.4.26-xen-sparse/arch/xen/drivers/blkif/frontend/main.c +++ b/linux-2.4.26-xen-sparse/arch/xen/drivers/blkif/frontend/main.c @@ -805,4 +805,16 @@ void blkdev_suspend(void) void blkdev_resume(void) { + ctrl_msg_t cmsg; + blkif_fe_driver_status_changed_t st; + + + /* Send a driver-UP notification to the domain controller. */ + cmsg.type = CMSG_BLKIF_FE; + cmsg.subtype = CMSG_BLKIF_FE_DRIVER_STATUS_CHANGED; + cmsg.length = sizeof(blkif_fe_driver_status_changed_t); + st.status = BLKIF_DRIVER_STATUS_UP; + memcpy(cmsg.msg, &st, sizeof(st)); + ctrl_if_send_message_block(&cmsg, NULL, 0, TASK_UNINTERRUPTIBLE); } + diff --git a/linux-2.4.26-xen-sparse/arch/xen/kernel/setup.c b/linux-2.4.26-xen-sparse/arch/xen/kernel/setup.c index c218d199d1..6acd49bc06 100644 --- a/linux-2.4.26-xen-sparse/arch/xen/kernel/setup.c +++ b/linux-2.4.26-xen-sparse/arch/xen/kernel/setup.c @@ -1200,6 +1200,7 @@ static void __do_suspend(void) /* Hmmm... a cleaner interface to suspend/resume blkdevs would be nice. */ extern void blkdev_suspend(void); extern void blkdev_resume(void); + extern void netif_resume(void); extern void time_suspend(void); extern void time_resume(void); @@ -1248,8 +1249,8 @@ static void __do_suspend(void) __sti(); - //blkdev_resume(); - //netdev_resume(); + blkdev_resume(); + netif_resume(); out: if ( suspend_record != NULL ) |