From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3A9E1C04FDF for ; Wed, 5 Jul 2023 10:21:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A69526B0071; Wed, 5 Jul 2023 06:21:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9F0928D0002; Wed, 5 Jul 2023 06:21:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 86A0B8D0001; Wed, 5 Jul 2023 06:21:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7626F6B0071 for ; Wed, 5 Jul 2023 06:21:34 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 284B180B24 for ; Wed, 5 Jul 2023 10:21:34 +0000 (UTC) X-FDA: 80977166508.30.204862E Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf02.hostedemail.com (Postfix) with ESMTP id 3049680020 for ; Wed, 5 Jul 2023 10:21:30 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=rK+eFTza; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=0Ik5A3fa; dmarc=none; spf=pass (imf02.hostedemail.com: domain of jack@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688552491; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=qqER76PXnxWxMVZH46uY+IP0A7ISNxa4dFOpqm8Npig=; b=cknPSp+Jc/tagb3y/Q4oDDRoaUe4F+dfn93uqXQlOc/lfYf+HqkhsQ/+W1N1XR6zDs3T26 V2ohTnz9QL5eCOMgbfuv3pEIrr27tr6t5Vwhg96DfqiQWxUjnSyUIPmdaLqTuvscqXkNrQ HnjhOu6Zp6xW2YU3AM23AlZ2ORKxKL4= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=rK+eFTza; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=0Ik5A3fa; dmarc=none; spf=pass (imf02.hostedemail.com: domain of jack@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688552491; a=rsa-sha256; cv=none; b=rvH4uyvMS4QEfOOs4mEe8Xzf2XtHU9rOgm6ns0LPyF0ZlmFaexUIkiSWlmI27ma/OAVDOi J7u20M6PQ1fQMSfS5Uv/GTa1WFv5PS8VQqfD5uP2jm6cz7N2dh54e8L7VYOM0gDN9vfCze lvdHXnt8AzeWjJtpirTUX66/fNqa8u8= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 58F0C1F6E6; Wed, 5 Jul 2023 10:21:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1688552489; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=qqER76PXnxWxMVZH46uY+IP0A7ISNxa4dFOpqm8Npig=; b=rK+eFTza2+XXgbRvOv5tQtV93F/4zZpu7norREAepZy5yow7baD/dvvqWhpeeItBt0IPcu Y5rwLWutv/on4mwv5EJraqTeqhb05mRkTW0yYXikGz/UA9AQcATVDIgxrBuvXRHMAszN6R RSIAN/j2D8s9RJrt3/Umhb+lT3pvazU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1688552489; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=qqER76PXnxWxMVZH46uY+IP0A7ISNxa4dFOpqm8Npig=; b=0Ik5A3faiNr6MKUo0ZlFf0SVDy0zGGeX4x6PTOEnPlUJVjHk96v3tsbq/TGqKcufwhGJGx 3sf2EXg0rHzUTICQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 44C0D13460; Wed, 5 Jul 2023 10:21:29 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id Xem5EClEpWRSCwAAMHmgww (envelope-from ); Wed, 05 Jul 2023 10:21:29 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id C5467A0707; Wed, 5 Jul 2023 12:21:28 +0200 (CEST) Date: Wed, 5 Jul 2023 12:21:28 +0200 From: Jan Kara To: Keith Busch Cc: Jan Kara , linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, Jens Axboe , Christoph Hellwig , Alasdair Kergon , Andrew Morton , Anna Schumaker , Chao Yu , Christian Borntraeger , "Darrick J. Wong" , Dave Kleikamp , David Sterba , dm-devel@redhat.com, drbd-dev@lists.linbit.com, Gao Xiang , Jack Wang , Jaegeuk Kim , jfs-discussion@lists.sourceforge.net, Joern Engel , Joseph Qi , Kent Overstreet , linux-bcache@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mm@kvack.org, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-nilfs@vger.kernel.org, linux-nvme@lists.infradead.org, linux-pm@vger.kernel.org, linux-raid@vger.kernel.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-xfs@vger.kernel.org, "Md. Haris Iqbal" , Mike Snitzer , Minchan Kim , ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, Sergey Senozhatsky , Song Liu , Sven Schnelle , target-devel@vger.kernel.org, Ted Tso , Trond Myklebust , xen-devel@lists.xenproject.org Subject: Re: [PATCH 01/32] block: Provide blkdev_get_handle_* functions Message-ID: <20230705102128.vquve4qencbbn2br@quack3> References: <20230629165206.383-1-jack@suse.cz> <20230704122224.16257-1-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Stat-Signature: fc73w59xnruga4rk6goynzcm468rtk37 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 3049680020 X-HE-Tag: 1688552490-314446 X-HE-Meta: U2FsdGVkX1/nWI9HPtZzuaTIEi1pbLhOQYIEAxJbBKFG1Z1PK5mAUbLYeClW3UYKH0NOiHlds0afm9pUjKeYUJnnkKemrAfH+5ulNuTsjwR4cfpmESYrkzZ3GOCvjWMJuRFTZtFS48R7LssnzvtGH6x940yeAHCv7QUadTGhLwEadiLYbJF7R29mz+LOhtoux4KIljILaBiFKhSiB6H0Gu/X6fCLBPUQLEOIcyVgSEnre82oAnBGOFB/9aRk3lev7mh6+IRMWNymMw9sDVGHcM2kb5+lGSssRj/q4TgIQhRqhlVUqPV7n8RtN+K036i7tEqymUrUpfUm9avHCjUiAw1mZtIQSndhuLuxRhooYpotHnpwP1MO3GC/y8De/CGBuyaEtL1h3WsV7C24i8rXT/zscDXwmeypgCulMV50Qib+Xk85dk2/PXiQh++GRWHSqiRlJkAJyXNLIryvwspR7t7h122b2t0Gf5Ji+Tz5LdD2x9eRAYm7NBQV3TC1adJukB7SoFkk/UYvSUmToAqIWT2leSsPT3+jNYg5pRZcY+INRwa+4Z7rrlRC+fh2kX3zLt2svIldPT+eqfQWUmUIY/AB1CRDgrwDZ6MlLb5HhOIDRRWSBTJCfri/G+5//fSJV6dJIDGze3p1gYapvlfsGYIISClIgH5pHzNi8DzZVNKJzOb+DOU76mg3nlgLw1X/wdlj0adtViJjcvsjaPLWKmtMV8Xu/ehzC0gwyN24VSxytYBaU8DSVPt7nBYvIEk/m+WzLq7njb16i+/2bAnYJCkaAGIKavu63W/XEhvJu94KZoo6y+QmO+yvXq+YA1/ShRi/QSx/K0cvOOV+37SVQ6Oaq2t9spN3fC9zBDt1k2qvAJNT7IhSwcqhK+8LjyT/H7JHdU7+eo7wfuYhMeL0ufAPEQHofGV9AqNmsCwB/Bhql4JdfLIbhUC3M9UrDqqwAAX1wFNIyg12qaVv39S K4COaCrH g8e8U5CErDGBSNjBVlGOl04e3u9kwbLnRCPokGAcU/bHY3VBdxZc4TGpoUICEy5nQzcjbrmd4RmOJTT0vfVd4xHxGXKe/pS1Jo/S8rKFWFD2FWHunTaDtYAVFpOezGT77aHKq3D9VgbYGp2Lr5Apy7f5i9Rt7X2cZMuWUwikIoJ9t8aw3nTv9uB9DEJgMYmszhxjNChvGXMcnMOwrUVflvrofCkwKCEHu8Yz79euguNj2R807mBTc0REq0voNm7Fuc5saBw1hc8/Vw7uvmqDvZcd05irHiIh/G2lYHw+L/S4Dy3o1IbycuB8ZqFOmdHN64H/MPHgha/uHaqOPAvAXI6lLwYW/kEwy2LrHgGB/tUIhHonEMjJvEbstbA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue 04-07-23 10:28:36, Keith Busch wrote: > On Tue, Jul 04, 2023 at 02:21:28PM +0200, Jan Kara wrote: > > +struct bdev_handle *blkdev_get_handle_by_dev(dev_t dev, blk_mode_t mode, > > + void *holder, const struct blk_holder_ops *hops) > > +{ > > + struct bdev_handle *handle = kmalloc(sizeof(struct bdev_handle), > > + GFP_KERNEL); > > I believe 'sizeof(*handle)' is the preferred style. OK. > > + struct block_device *bdev; > > + > > + if (!handle) > > + return ERR_PTR(-ENOMEM); > > + bdev = blkdev_get_by_dev(dev, mode, holder, hops); > > + if (IS_ERR(bdev)) > > + return ERR_CAST(bdev); > > Need a 'kfree(handle)' before the error return. Or would it be simpler > to get the bdev first so you can check the mode settings against a > read-only bdev prior to the kmalloc? Yeah. Good point with kfree(). I'm not sure calling blkdev_get_by_dev() first will be "simpler" - then we need blkdev_put() in case of kmalloc() failure. Thanks for review! Honza -- Jan Kara SUSE Labs, CR