]> git.baikalelectronics.ru Git - kernel.git/commit
xenbus: delay xenbus frontend resume if xenstored is not running
authorAurelien Chartier <aurelien.chartier@citrix.com>
Tue, 28 May 2013 17:09:56 +0000 (18:09 +0100)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 29 May 2013 13:04:19 +0000 (09:04 -0400)
commitc2c2480098b36dd6e3563e16d28b2f6bf9212e3e
tree0c4ef9f17333b7e6ec558a10cf7d218a52d85276
parenteea6733abd169e5329deea8225e89f5bc7c9a1a8
xenbus: delay xenbus frontend resume if xenstored is not running

If the xenbus frontend is located in a domain running xenstored, the device
resume is hanging because it is happening before the process resume. This
patch adds extra logic to the resume code to check if we are the domain
running xenstored and delay the resume if needed.

Signed-off-by: Aurelien Chartier <aurelien.chartier@citrix.com>
[Changes in v2:
- Instead of bypassing the resume, process it in a workqueue]
[Changes in v3:
- Add a struct work in xenbus_device to avoid dynamic allocation
- Several small code fixes]
[Changes in v4:
- Use a dedicated workqueue]
[Changes in v5:
- Move create_workqueue error handling to xenbus_frontend_dev_resume]
Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/xenbus/xenbus_probe_frontend.c
include/xen/xenbus.h