Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp451679pxv; Fri, 9 Jul 2021 01:36:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtD0PSgtruRNtUvZlw1BkWW7chIIYZeJfTSlXyhFxFjA9XbAJ1EtoEy//EMaH5JfKIV5pX X-Received: by 2002:a05:6402:1591:: with SMTP id c17mr19554917edv.146.1625819794278; Fri, 09 Jul 2021 01:36:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625819794; cv=none; d=google.com; s=arc-20160816; b=fPcE6oDHUFG8HaLV2W711mVp6H/YUZ9S3plLQhV6jrs99QPxFnFNlHydF6JZT0TXpz dAWzOY7f6nEYMEY2UfAwFE+MB824vXCl+HtsQV0qEZ0nLloGH0mJecnu0Z0f486go7yY TbkAebJXKR4nDvxhFOSYTlCIvLkG5Zuqz4pdckEr7WcRJ9lOkmy6xhLqRkJIVtHAS7wO K5JOKRRknHtYoTs0BRQikW8vqAA/Dxp4ZQ5VJ2P5ogu8o9FyrWRmdSi2jP3CzfcFwF0H HE5yQnUnk5EsDWxra+lbW69hsg40JHi0J04+7hR/ncPa+E/WOTBbPQNFLxpffZ6QWFHN vgsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=egPmQST1yautWNSkUehH6XhRlwz1CmKbfNdRKaFhzi0=; b=FJTSB1LhQrWmdIEqXHI0S+aL7csIzUBkHry5HYlUl7FWkaR0hYfhiltFY5TWsdYYtT JPyYgbM6UqFpGEQ9iNshxPRPVebfofKsYv8Kd2BdBQCFnaRQzwJeKBBkBVSBQYy4L5+h JMz4irf0yt+EIYTKT1rOUm0ToXE7K8pSJxyfJYqo9pr7/Cwg72AlXfMBCMy+PnHkXHnu MP1rfFwC30apFhiN7BQfz9+f1Bnxt7u3PsSkd+tDHrybuzIfANzlXTtWoYF2l3Uiaerh ghK76LFWvJIDdFlNd/ozcES9m4IWxJCR8ULTSYRRefF95rG8jv34hnFmF9apSskd9myQ fgPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Fql88CYl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o19si4962193ejm.312.2021.07.09.01.36.11; Fri, 09 Jul 2021 01:36:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Fql88CYl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231382AbhGIIhc (ORCPT + 99 others); Fri, 9 Jul 2021 04:37:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35776 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231539AbhGIIhc (ORCPT ); Fri, 9 Jul 2021 04:37:32 -0400 Received: from mail-vk1-xa34.google.com (mail-vk1-xa34.google.com [IPv6:2607:f8b0:4864:20::a34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0EC82C0613DD for ; Fri, 9 Jul 2021 01:34:49 -0700 (PDT) Received: by mail-vk1-xa34.google.com with SMTP id d7so2023001vkf.2 for ; Fri, 09 Jul 2021 01:34:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=egPmQST1yautWNSkUehH6XhRlwz1CmKbfNdRKaFhzi0=; b=Fql88CYlK3C4DwWaVzv8oo9Ts65nrcapW3OTGLHfp9eyYIPrkZJHY9PSGBFo2LO3CI genMuYRfTxpIrytRcuEWUwCIch+1CdoUZcAT+QRSklbLw59W1H12sfAK1+4YHPR+/yhH SBfIv2+QftMaor4lP2RmKHfgBF/QQZ1oi6BSijkwZwpzORPyCL2wl+LA485AbRtKlcWK T60ewssA+orSW3EDKnKZdumWbrVx/fzVKZgpvFxxX9WbgQanJzsechyK5LqnFZZj2q1d syRET9UyFFL+1eUfG9V9tdYktrgXEhNzRzy4dWOaJ9CJyg3MDecFx4ze77u0hGYsRaen BRpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=egPmQST1yautWNSkUehH6XhRlwz1CmKbfNdRKaFhzi0=; b=i1lPYebbrVdZFVNwSGutHeh7cqxEq+Ne/2BsjCpdHgfh2eArZvhqA9lSbtJ5l+2Cjq NJZNY3oZMSm93p3wS9lqhoTsn0lgr+BWrjkJMvr2EUsN7lznRUaz5EF9uQfwQKclCwEC M+ifZWNfPkZyrvvDGMAITwd289JWL2+3tqDcmU0GGoAJeVZBTM+adAZmSWtNXsQitx5Y FqY2+l5CXvMkpWF7Ps06GPx7hlbEV34dA3VSc+hDJ3H5d4OPa1YFEzSagntkLg5KKgkX iklFSSdI6qTyCTtjIpJzbRTYUiJ0GEAHFmxwJ22O8t+rztjxtCNjSgVDW+FY7tGQ6wzY K9Tg== X-Gm-Message-State: AOAM533oYM9z7k9i48NwqZZacbVn8+HI4x9VqLMdKEpwsPuOXZCyYI/8 99e5NJYX+ylQoR6DXLkXhw1PkFzpYmBXGL4MNTWTWyjBJHtqC0BU X-Received: by 2002:a1f:9d13:: with SMTP id g19mr4473518vke.15.1625819688126; Fri, 09 Jul 2021 01:34:48 -0700 (PDT) MIME-Version: 1.0 References: <20210709103244.64b2f1de@canb.auug.org.au> In-Reply-To: <20210709103244.64b2f1de@canb.auug.org.au> From: Ulf Hansson Date: Fri, 9 Jul 2021 10:34:11 +0200 Message-ID: Subject: Re: linux-next: manual merge of the block tree with the mmc-fixes tree To: Jens Axboe , Stephen Rothwell Cc: Christoph Hellwig , Linux Kernel Mailing List , Linux Next Mailing List , Stephen Boyd Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 9 Jul 2021 at 02:32, Stephen Rothwell wrote: > > Hi all, > > Today's linux-next merge of the block tree got a conflict in: > > drivers/mmc/core/block.c > > between commit: > > 5c0777665b3e ("mmc: core: Use kref in place of struct mmc_blk_data::usage") > > from the mmc-fixes tree and commits: > > 249cda3325e0 ("mmc: remove an extra blk_{get,put}_queue pair") > 607d968a5769 ("mmc: switch to blk_mq_alloc_disk") > > from the block tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > -- > Cheers, > Stephen Rothwell Stephen, thanks for the heads up! Jens, I noticed that you sent the PR with the mmc commits as of yesterday. Assuming Linus will pull it before rc1, I will rebase and fix up the conflict from my fixes branch on top. No action needed from your side. Kind regards Uffe > > diff --cc drivers/mmc/core/block.c > index d7b5c5ab75fa,9890a1532cb0..000000000000 > --- a/drivers/mmc/core/block.c > +++ b/drivers/mmc/core/block.c > @@@ -195,26 -196,18 +195,25 @@@ static inline int mmc_get_devidx(struc > return devidx; > } > > -static void mmc_blk_put(struct mmc_blk_data *md) > +static void mmc_blk_kref_release(struct kref *ref) > { > - mutex_lock(&open_lock); > - md->usage--; > - if (md->usage == 0) { > - int devidx = mmc_get_devidx(md->disk); > + struct mmc_blk_data *md = container_of(ref, struct mmc_blk_data, kref); > + int devidx; > > - ida_simple_remove(&mmc_blk_ida, devidx); > - put_disk(md->disk); > - kfree(md); > - } > + devidx = mmc_get_devidx(md->disk); > - blk_put_queue(md->queue.queue); > + ida_simple_remove(&mmc_blk_ida, devidx); > + > + mutex_lock(&open_lock); > + md->disk->private_data = NULL; > mutex_unlock(&open_lock); > + > + put_disk(md->disk); > + kfree(md); > +} > + > +static void mmc_blk_put(struct mmc_blk_data *md) > +{ > + kref_put(&md->kref, mmc_blk_kref_release); > } > > static ssize_t power_ro_lock_show(struct device *dev, > @@@ -2334,27 -2327,11 +2333,11 @@@ static struct mmc_blk_data *mmc_blk_all > > INIT_LIST_HEAD(&md->part); > INIT_LIST_HEAD(&md->rpmbs); > - md->usage = 1; > + kref_init(&md->kref); > - > - ret = mmc_init_queue(&md->queue, card); > - if (ret) > - goto err_putdisk; > - > md->queue.blkdata = md; > > - /* > - * Keep an extra reference to the queue so that we can shutdown the > - * queue (i.e. call blk_cleanup_queue()) while there are still > - * references to the 'md'. The corresponding blk_put_queue() is in > - * mmc_blk_put(). > - */ > - if (!blk_get_queue(md->queue.queue)) { > - mmc_cleanup_queue(&md->queue); > - ret = -ENODEV; > - goto err_putdisk; > - } > - > md->disk->major = MMC_BLOCK_MAJOR; > + md->disk->minors = perdev_minors; > md->disk->first_minor = devidx * perdev_minors; > md->disk->fops = &mmc_bdops; > md->disk->private_data = md;