lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 04 Aug 2011 15:24:44 +0800 From: Joe Jin <joe.jin@...cle.com> To: Joe Jin <joe.jin@...cle.com> CC: Daniel Stodden <daniel.stodden@...rix.com>, Jens Axboe <jaxboe@...ionio.com>, Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>, Annie Li <annie.li@...cle.com>, Ian Campbell <Ian.Campbell@...citrix.com>, Kurt C Hackel <KURT.HACKEL@...cle.com>, Greg Marsden <greg.marsden@...cle.com>, "xen-devel@...ts.xensource.com" <xen-devel@...ts.xensource.com>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: [PATCH -v3 2/3] xen-blkback: repleace check kthread_should_stop() to remove_requested in xen_blkif_schedule() loop. When backend state change to XenbusStateClosed, remove_requested will be set, so repleace check kthread_should_stop() to remove_requested in xen_blkif_schedule() loop. Signed-off-by: Joe Jin <joe.jin@...cle.com> Cc: Daniel Stodden <daniel.stodden@...rix.com> Cc: Jens Axboe <jaxboe@...ionio.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com> Cc: Annie Li <annie.li@...cle.com> Cc: Ian Campbell <Ian.Campbell@...citrix.com> -- drivers/block/xen-blkback/blkback.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c index 2330a9a..3d64b52 100644 --- a/drivers/block/xen-blkback/blkback.c +++ b/drivers/block/xen-blkback/blkback.c @@ -274,7 +274,7 @@ int xen_blkif_schedule(void *arg) xen_blkif_get(blkif); - while (!kthread_should_stop()) { + while (!blkif->remove_requested) { if (try_to_freeze()) continue; if (unlikely(vbd->size != vbd_sz(vbd))) @@ -282,11 +282,11 @@ int xen_blkif_schedule(void *arg) wait_event_interruptible( blkif->wq, - blkif->waiting_reqs || kthread_should_stop()); + blkif->waiting_reqs || blkif->remove_requested); wait_event_interruptible( blkbk->pending_free_wq, !list_empty(&blkbk->pending_free) || - kthread_should_stop()); + blkif->remove_requested); blkif->waiting_reqs = 0; smp_mb(); /* clear flag *before* checking for work */ @@ -301,8 +301,8 @@ int xen_blkif_schedule(void *arg) if (log_stats) print_stats(blkif); - blkif->xenblkd = NULL; xen_blkif_put(blkif); + xen_blkback_close(blkif); return 0; } @@ -476,7 +476,7 @@ __do_block_io_op(struct xen_blkif *blkif) if (RING_REQUEST_CONS_OVERFLOW(&blk_rings->common, rc)) break; - if (kthread_should_stop()) { + if (blkif->remove_requested) { more_to_do = 1; break; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists