Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1210519ybz; Thu, 16 Apr 2020 05:08:01 -0700 (PDT) X-Google-Smtp-Source: APiQypKQyqz2udECWB0g/kFzHN0T5sqpYnhxGtt+sA2RErG2q0Bvr6AfNDUnVhmZ1KA4kj64Uw/q X-Received: by 2002:aa7:d7c1:: with SMTP id e1mr16348840eds.8.1587038880901; Thu, 16 Apr 2020 05:08:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587038880; cv=none; d=google.com; s=arc-20160816; b=zEZ+JiaMuay2b5mpAAs9Z3BCRGlonroe+X1YNq8he3LEImtBbAqmrdWE1CMYs8RdxM DgFAFbyoOzar5B6Iutxvjh/0GjhoXITV+lih/g8Nj6xtaTFoSdLAZ9AZwgBmPys7dPVq oIl2RRtnY0mM1xL7Wj70ujPtgKsdZp/Kbp2hkGwf0w7Y0CKBp6FiAFhL4TaMShByN9hw qqrUR/J9bl+5jV6mN+3IQYNQMKaT/ZXuNmOalELqPgyXIFuHrKGuXoW5EiQ9qCoTCiwG dS1qZBDBkOGMWOpIOI/orR7zQaKMCNrxUx/gQXFn0jSVyP3MSdbJ9Xh0Z8P/GhYo+2X0 gMTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=cbSl6xzsKhqlQOsCHsf6TdZ1B7F3z7NtpWGwOJXsQq8=; b=MKyI8Erx5kjtjUc/6kyiwnrID4DzTtR/fSUtaxvb+1tvFzOsnzgh/PsNpESllXU1yB pLIbeTdv33Ipc2OZyb/ga1yFsyg/9/26sIU+z/1yQfnQkxsLTEJEQD65YZE03sel1CjB Kgo3xXysRwaKQIsDzUrPGRksjpNJM+Lf2qb50PeBIT5SHbvVeTtLK+zHSmG5ALWsUvk+ kXzb6oZ+p4Nw27SnxYRAM+LRma0wjbgoct/m7YDHHMhGzvins1g74h/MXzJUxp7sy/s9 bApQoxHAGpZXJ06C8q0ONAf+/LjxJt0Op5eVNVICvP5evZru3TUxX/0xldXuBvFVSzTL qCUQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d7si11589114edj.504.2020.04.16.05.07.38; Thu, 16 Apr 2020 05:08:00 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2634932AbgDPMFo (ORCPT + 99 others); Thu, 16 Apr 2020 08:05:44 -0400 Received: from mx2.suse.de ([195.135.220.15]:39968 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2634179AbgDPMFY (ORCPT ); Thu, 16 Apr 2020 08:05:24 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 82776AB7F; Thu, 16 Apr 2020 12:05:20 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id 201CF1E1250; Thu, 16 Apr 2020 14:05:20 +0200 (CEST) Date: Thu, 16 Apr 2020 14:05:20 +0200 From: Jan Kara To: Christoph Hellwig Cc: axboe@kernel.dk, yuyufen@huawei.com, tj@kernel.org, jack@suse.cz, bvanassche@acm.org, tytso@mit.edu, gregkh@linuxfoundation.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 6/8] bdi: remove bdi_register_owner Message-ID: <20200416120520.GK23739@quack2.suse.cz> References: <20200416071519.807660-1-hch@lst.de> <20200416071519.807660-7-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200416071519.807660-7-hch@lst.de> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 16-04-20 09:15:17, Christoph Hellwig wrote: > Split out a new bdi_set_owner helper to set the owner, and move the policy > for creating the bdi name back into genhd.c, where it belongs. > > Signed-off-by: Christoph Hellwig Fine by me. You can add: Reviewed-by: Jan Kara Honza > --- > block/genhd.c | 8 +++++--- > include/linux/backing-dev.h | 2 +- > mm/backing-dev.c | 12 ++---------- > 3 files changed, 8 insertions(+), 14 deletions(-) > > diff --git a/block/genhd.c b/block/genhd.c > index 06b642b23a07..7d10cfc38c70 100644 > --- a/block/genhd.c > +++ b/block/genhd.c > @@ -840,13 +840,15 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk, > disk->flags |= GENHD_FL_SUPPRESS_PARTITION_INFO; > disk->flags |= GENHD_FL_NO_PART_SCAN; > } else { > + struct backing_dev_info *bdi = disk->queue->backing_dev_info; > + struct device *dev = disk_to_dev(disk); > int ret; > > /* Register BDI before referencing it from bdev */ > - disk_to_dev(disk)->devt = devt; > - ret = bdi_register_owner(disk->queue->backing_dev_info, > - disk_to_dev(disk)); > + dev->devt = devt; > + ret = bdi_register(bdi, "%u:%u", MAJOR(devt), MINOR(devt)); > WARN_ON(ret); > + bdi_set_owner(bdi, dev); > blk_register_region(disk_devt(disk), disk->minors, NULL, > exact_match, exact_lock, disk); > } > diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h > index c9ad5c3b7b4b..4098ed6ba6b4 100644 > --- a/include/linux/backing-dev.h > +++ b/include/linux/backing-dev.h > @@ -33,7 +33,7 @@ int bdi_register(struct backing_dev_info *bdi, const char *fmt, ...); > __printf(2, 0) > int bdi_register_va(struct backing_dev_info *bdi, const char *fmt, > va_list args); > -int bdi_register_owner(struct backing_dev_info *bdi, struct device *owner); > +void bdi_set_owner(struct backing_dev_info *bdi, struct device *owner); > void bdi_unregister(struct backing_dev_info *bdi); > > struct backing_dev_info *bdi_alloc_node(gfp_t gfp_mask, int node_id); > diff --git a/mm/backing-dev.c b/mm/backing-dev.c > index a7eb91146c9c..1ba9a7b30933 100644 > --- a/mm/backing-dev.c > +++ b/mm/backing-dev.c > @@ -982,20 +982,12 @@ int bdi_register(struct backing_dev_info *bdi, const char *fmt, ...) > } > EXPORT_SYMBOL(bdi_register); > > -int bdi_register_owner(struct backing_dev_info *bdi, struct device *owner) > +void bdi_set_owner(struct backing_dev_info *bdi, struct device *owner) > { > - int rc; > - > - rc = bdi_register(bdi, "%u:%u", MAJOR(owner->devt), MINOR(owner->devt)); > - if (rc) > - return rc; > - /* Leaking owner reference... */ > - WARN_ON(bdi->owner); > + WARN_ON_ONCE(bdi->owner); > bdi->owner = owner; > get_device(owner); > - return 0; > } > -EXPORT_SYMBOL(bdi_register_owner); > > /* > * Remove bdi from bdi_list, and ensure that it is no longer visible > -- > 2.25.1 > -- Jan Kara SUSE Labs, CR