summaryrefslogtreecommitdiffstats
path: root/drivers/block/xen-blkback
diff options
context:
space:
mode:
authorJiri Kosina2015-10-26 06:47:21 +0100
committerKonrad Rzeszutek Wilk2016-01-04 18:21:24 +0100
commita6e7af1288eeb7fca8361356998d31a92a291531 (patch)
tree320068fcc79f1165213ecbbd526c84d0938d31cf /drivers/block/xen-blkback
parentxen/blkback: Free resources if connect_ring failed. (diff)
downloadkernel-qcow2-linux-a6e7af1288eeb7fca8361356998d31a92a291531.tar.gz
kernel-qcow2-linux-a6e7af1288eeb7fca8361356998d31a92a291531.tar.xz
kernel-qcow2-linux-a6e7af1288eeb7fca8361356998d31a92a291531.zip
xen-blkback: clear PF_NOFREEZE for xen_blkif_schedule()
xen_blkif_schedule() kthread calls try_to_freeze() at the beginning of every attempt to purge the LRU. This operation can't ever succeed though, as the kthread hasn't marked itself as freezable. Before (hopefully eventually) kthread freezing gets converted to fileystem freezing, we'd rather mark xen_blkif_schedule() freezable (as it can generate I/O during suspend). Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers/block/xen-blkback')
-rw-r--r--drivers/block/xen-blkback/blkback.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index a00d6c6c2880..99b479f330af 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -613,6 +613,7 @@ int xen_blkif_schedule(void *arg)
xen_blkif_get(blkif);
+ set_freezable();
while (!kthread_should_stop()) {
if (try_to_freeze())
continue;