Re: [DRBD-user] [PATCH] xen-blkback: Switch to closed state after releasing the backing device

From: Valentin Vidic
Date: Fri Sep 07 2018 - 13:15:08 EST


On Fri, Sep 07, 2018 at 06:45:00PM +0200, Valentin Vidic wrote:
> Adding a dump_stack in drbd_release gives two possible code paths,
> both from xen_blkback and the first one from workqueue being the
> problematic one:

In fact the first one is the original code path before I modified
blkback. The problem is it gets executed async from workqueue so
it might not always run before the call to drbdadm secondary.

> [ 530.698782] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G O 4.9.0-8-amd64 #1 Debian 4.9.110-3+deb9u4
> [ 530.698783] Hardware name: HP ProLiant BL460c Gen9, BIOS I36 09/12/2016
> [ 530.698784] Workqueue: events xen_blkif_deferred_free [xen_blkback]
> [ 530.698785] 0000000000000000 ffffffff81331e54 ffff883f82143800 ffff883f741b5660
> [ 530.698787] ffffffffc03a309e ffff883f741b5580 ffffffff81245ca8 0000000281a186b5
> [ 530.698789] 000000008935f100 8412ffa31a64cc4c 000000000000020a ffff883fa6218280
> [ 530.698791] Call Trace:
> [ 530.698792] [<ffffffff81331e54>] ? dump_stack+0x5c/0x78
> [ 530.698805] [<ffffffffc03a309e>] ? drbd_release+0x1e/0x40 [drbd]
> [ 530.698810] [<ffffffff81245ca8>] ? __blkdev_put+0x1e8/0x2a0
> [ 530.698813] [<ffffffffc055d6b8>] ? xen_vbd_free.isra.9+0x48/0x60 [xen_blkback]
> [ 530.698814] [<ffffffffc055d6f7>] ? xen_blkif_deferred_free+0x27/0x70 [xen_blkback]
> [ 530.698816] [<ffffffff81092fea>] ? process_one_work+0x18a/0x420
> [ 530.698817] [<ffffffff810932cd>] ? worker_thread+0x4d/0x490
> [ 530.698818] [<ffffffff81093280>] ? process_one_work+0x420/0x420
> [ 530.698820] [<ffffffff81099329>] ? kthread+0xd9/0xf0
> [ 530.698822] [<ffffffff81099250>] ? kthread_park+0x60/0x60
> [ 530.698823] [<ffffffff81615df7>] ? ret_from_fork+0x57/0x70

--
Valentin