Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1892488imm; Fri, 7 Sep 2018 07:44:03 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYNzVcQrtTATBAs5k7VBkHiH1TJJZPOfcm8FUtEVw54V206Mm8KpkyMe+xzraGRG6+7K2Lk X-Received: by 2002:a62:5b85:: with SMTP id p127-v6mr8889612pfb.33.1536331443390; Fri, 07 Sep 2018 07:44:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536331443; cv=none; d=google.com; s=arc-20160816; b=AEFqKDclD+M4qxJsATotbBWcxMpppcjiU1YvGsq1eMaRX+rJovT3aNZy7RmDtpYkmI a1VMRlvQpj8MKyIRO7Wf0d3Hgfceh/lfP6YrhcI5ili/yLegqvPSlGZIo/Db/sb670u+ 827it4IGPonEGSkjxXz5t8BSQESNUDQvkf5Cb3rob6IsETVctdgdLpuxDoIV+Myd8p3T UX0ucJb/zXJ/S6zdajv493l1Z9u2cRQCYdCeIQS0v7wivd6UT3xfmQr2U6yHxlLv9oTD qvfPB9aPRhgvFpk5aUVLNu0V9wineCqsv7/BcCrm28njcoExD8WTJbGA/o4qYT3FVa4D dr4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:cc:to:from:date; bh=yhWKyPalubEba8iDVZAu4pc/asP8HL6bBEXt3MS8D9I=; b=wo0Nsrq3NL1fsqVOfmkEHeSRUO3wvOglzpramOIynZRc+Bh1yHzCXU0m/8pPHnc1mt x0+JyvN3+wVYYMq0nifntdcK4WJKOMG+xMJ0tAqNt486MZVvbRfvTOpCsKcpmpuZGRJw 2pRtSpLy0CNjOqOqxTQPojcLpfYmPfHNNkAC7qTefpxa8qil7ZiHbMaoL4fDRL1+9xMQ /BABW8okb6LQb/QNaUqahD+nPxHhZj1+nfWY9Qon045r4eWrIkrUd6m6Fv5IZ19vS0xd yVeOQIhJ99Qf4po7y9lMGCYZ983/B6CsG5I6ewPbQvrM6yj19qOhAaw0EpYs1EJVG+wF axrA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y9-v6si8535063pgi.691.2018.09.07.07.43.46; Fri, 07 Sep 2018 07:44:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728770AbeIGPzz (ORCPT + 99 others); Fri, 7 Sep 2018 11:55:55 -0400 Received: from mail.CARNet.hr ([161.53.123.6]:51372 "EHLO mail.carnet.hr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727427AbeIGPzy (ORCPT ); Fri, 7 Sep 2018 11:55:54 -0400 Received: from cnzgrivvl-t440p.carpriv.carnet.hr ([161.53.12.131]:59722 helo=gavran.carpriv.carnet.hr) by mail.carnet.hr with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1fyEjP-00020y-9D; Fri, 07 Sep 2018 13:15:19 +0200 Received: by gavran.carpriv.carnet.hr (Postfix, from userid 1000) id 1BB94202E0; Fri, 7 Sep 2018 13:15:19 +0200 (CEST) Date: Fri, 7 Sep 2018 13:15:19 +0200 From: Valentin Vidic To: Roger Pau =?iso-8859-1?Q?Monn=E9?= Cc: Konrad Rzeszutek Wilk , Jens Axboe , xen-devel@lists.xenproject.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, drbd-user@lists.linbit.com Message-ID: <20180907111519.GJ26705@gavran.carpriv.carnet.hr> References: <20180905103649.edugijsjx4v2fbxd@mac.bytemobile.com> <20180905113515.GU26705@gavran.carpriv.carnet.hr> <20180905162801.GB26705@gavran.carpriv.carnet.hr> <20180906162932.7qge5dmrgyqbmbbj@mac.bytemobile.com> <20180906221929.GZ26705@gavran.carpriv.carnet.hr> <20180907071530.te5dxdvg4zqgqscj@mac.bytemobile.com> <20180907072319.GA26705@gavran.carpriv.carnet.hr> <20180907075455.szxahgevvlmfjvwy@mac.bytemobile.com> <20180907102026.GH26705@gavran.carpriv.carnet.hr> <20180907104309.z4jsga5hcnphwxu7@mac.bytemobile.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180907104309.z4jsga5hcnphwxu7@mac.bytemobile.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-SA-Exim-Connect-IP: 161.53.12.131 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on rigel.CARNet.hr X-Spam-Level: X-Spam-Status: No, score=-2.9 required=10.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.3.2 Subject: Re: [PATCH] xen-blkback: Switch to closed state after releasing the backing device X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 07, 2018 at 12:43:09PM +0200, Roger Pau Monn? wrote: > I would prefer if you could avoid open-coding this here, and instead > use xen_vbd_create or similar. I would also prefer that the call to > xen_vbd_create in backend_changed was removed and we had a single call > to xen_vbd_create that's used for both initial device connection and > reconnection. > > Also, I think this could cause issues if for some reason the frontend > switches to state 'Connected' before hotplug scripts have run, in > which case you would try to open an unexpected device because pdevice > won't be correctly set. Sure, this is just to test if the idea would work and needs a lot of cleanup. Unfortunately it does not seem to help with the original problem because this case is not executed on VM shutdown: case XenbusStateClosed: xen_blkif_disconnect(be->blkif); xen_vbd_free(&be->blkif->vbd); xenbus_switch_state(dev, XenbusStateClosed); Instead xen_vbd_free gets run from a different code path after the remove script has already failed: [ 337.407634] block drbd0: State change failed: Device is held open by someone [ 337.407673] block drbd0: state = { cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate r----- } [ 337.407713] block drbd0: wanted = { cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate r----- } ... [ 340.109459] Workqueue: events xen_blkif_deferred_free [xen_blkback] [ 340.109461] 0000000000000000 ffffffff81331e54 ffff883f84d19d38 ffff883f84d19d32 [ 340.109463] ffffffffc058169e ffff883f84d19d88 ffff883f84d19d20 ffffffffc05816f7 [ 340.109465] ffff883f84d19d88 ffff883f87b5a900 ffffffff81092fea 0000000088ec3080 [ 340.109467] Call Trace: [ 340.109471] [] ? dump_stack+0x5c/0x78 [ 340.109473] [] ? xen_vbd_free.isra.9+0x2e/0x60 [xen_blkback] [ 340.109475] [] ? xen_blkif_deferred_free+0x27/0x70 [xen_blkback] [ 340.109477] [] ? process_one_work+0x18a/0x420 [ 340.109479] [] ? worker_thread+0x4d/0x490 [ 340.109480] [] ? process_one_work+0x420/0x420 [ 340.109482] [] ? kthread+0xd9/0xf0 [ 340.109484] [] ? kthread_park+0x60/0x60 [ 340.109486] [] ? ret_from_fork+0x57/0x70 -- Valentin