Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp5256152iob; Mon, 9 May 2022 12:05:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxWbfXykH/Xdskfexw5SWaIRkw/q8QWpSndviqgU0ymKp13FHNrj3Gq8b1khLm8/2gLv4C4 X-Received: by 2002:a54:4096:0:b0:326:1882:8ded with SMTP id i22-20020a544096000000b0032618828dedmr7775792oii.45.1652123124089; Mon, 09 May 2022 12:05:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652123124; cv=none; d=google.com; s=arc-20160816; b=NXGrqhnG4fnUGaS2UXA3EwiBHpBJSdRpIhFsmtQUKpPpVXE8n29b50oRJzjTsEMSni Lz/DFBMAnDEEviIJ3PZkCnKvGnQ1EMSefjvxnMeVDFgayhv0ShM4e2vXGMhWQzb4zl2W f1is1/mxg6z0jRorgk2w8DLZu2MBuz22tEL/rEcIOFyj3aEdVUk6cXWMODBPdWtK/o9b QQaiDzZTq41Qgg1Tvhkk6Zj2u9klosQ4uTgHjahKAAi4/AVI4Up4mYOFhksAZiBoH+0h rkFtV8uQNLfMvqdYUNpI6Z84XS6lK/+n1JCAuOO48WMsFd+XvbidDY9BWFU1zT2pHtb7 Nc/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:mail-followup-to:reply-to:message-id :subject:cc:to:from:date:dkim-signature:dkim-signature; bh=w16vchMYkyFzvUDJDkFpExZGWWDGv88fe0vQkjsLWNM=; b=SodrhvqXYMq3Eyf4xpAZD/mBGiR9CnfO6w2NrrJp8E/SSY6lFBy3YjZFntbC2lyu9J adzcq8d99BPrptNJHBFi/VvBw++dbJ1ELSFn9RAHPrfDXVcJ3UmPv3WQ4YfBT3d6wfox cnBCgm1a/m4lev0yE4lfhUrvs8gklJT6TzRnl37yJbjhHzfeICnBzw8GegWLTP9ZTrVh PzX/m1Dk5lKpYRX14CPoHdNtxe3/e+R0lsoLnNzW8PMPARx4spD1xwyuCw1lvqLq1k1g puAeqAMKXh2l9XQN6X1bOvcr4JZX/YMFCh6m1KlHdtUdUJDdkUbv4zLpRzkmUYq3+5aC MLkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=mlwTaZeP; dkim=neutral (no key) header.i=@suse.cz header.s=susede2_ed25519; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id r205-20020aca5dd6000000b003262ea6cd9dsi10098223oib.288.2022.05.09.12.05.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 May 2022 12:05:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.cz header.s=susede2_rsa header.b=mlwTaZeP; dkim=neutral (no key) header.i=@suse.cz header.s=susede2_ed25519; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 88BDF285AC3; Mon, 9 May 2022 11:58:59 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240413AbiEITCp (ORCPT + 99 others); Mon, 9 May 2022 15:02:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34592 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240412AbiEITCn (ORCPT ); Mon, 9 May 2022 15:02:43 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0DC42854BE; Mon, 9 May 2022 11:58:48 -0700 (PDT) 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 7AF061F96C; Mon, 9 May 2022 18:58:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1652122727; h=from:from:reply-to: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=w16vchMYkyFzvUDJDkFpExZGWWDGv88fe0vQkjsLWNM=; b=mlwTaZePSYYE+AM6xPPGqmoaln0IagFvo9KKgNNA4Uz66qywNk6uF9/skqurvX0+4SQsTk UJoUGdTg3x8JIPYFK35e6+W609tsTHvyuFkLN8zUuM5Y6yjYFjh4XdOfahdlwnluavSp7v s3SJEovsDRoQEco1xf6AO+Dr6kV3n2Y= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1652122727; h=from:from:reply-to: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=w16vchMYkyFzvUDJDkFpExZGWWDGv88fe0vQkjsLWNM=; b=XoAgV38ZQFsVXsLl2q0Y/LuyEaHZ7SnRRkLm8/ZoXITtGX7+VWngPcr6IpaTqKZE5vbtWk ZaBqkBsEIZSIRUCA== 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 DE59313AA5; Mon, 9 May 2022 18:58:46 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id C0pQNWZkeWIhcgAAMHmgww (envelope-from ); Mon, 09 May 2022 18:58:46 +0000 Date: Mon, 9 May 2022 20:54:32 +0200 From: David Sterba To: Pankaj Raghav Cc: jaegeuk@kernel.org, hare@suse.de, dsterba@suse.com, axboe@kernel.dk, hch@lst.de, damien.lemoal@opensource.wdc.com, snitzer@kernel.org, Chris Mason , Josef Bacik , bvanassche@acm.org, linux-fsdevel@vger.kernel.org, matias.bjorling@wdc.com, Jens Axboe , gost.dev@samsung.com, jonathan.derrick@linux.dev, jiangbo.365@bytedance.com, linux-nvme@lists.infradead.org, dm-devel@redhat.com, Naohiro Aota , linux-kernel@vger.kernel.org, Johannes Thumshirn , Sagi Grimberg , Alasdair Kergon , linux-block@vger.kernel.org, Chaitanya Kulkarni , Keith Busch , linux-btrfs@vger.kernel.org, Luis Chamberlain Subject: Re: [PATCH v3 11/11] dm-zoned: ensure only power of 2 zone sizes are allowed Message-ID: <20220509185432.GB18596@twin.jikos.cz> Reply-To: dsterba@suse.cz Mail-Followup-To: dsterba@suse.cz, Pankaj Raghav , jaegeuk@kernel.org, hare@suse.de, dsterba@suse.com, axboe@kernel.dk, hch@lst.de, damien.lemoal@opensource.wdc.com, snitzer@kernel.org, Chris Mason , Josef Bacik , bvanassche@acm.org, linux-fsdevel@vger.kernel.org, matias.bjorling@wdc.com, Jens Axboe , gost.dev@samsung.com, jonathan.derrick@linux.dev, jiangbo.365@bytedance.com, linux-nvme@lists.infradead.org, dm-devel@redhat.com, Naohiro Aota , linux-kernel@vger.kernel.org, Johannes Thumshirn , Sagi Grimberg , Alasdair Kergon , linux-block@vger.kernel.org, Chaitanya Kulkarni , Keith Busch , linux-btrfs@vger.kernel.org, Luis Chamberlain References: <20220506081105.29134-1-p.raghav@samsung.com> <20220506081105.29134-12-p.raghav@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220506081105.29134-12-p.raghav@samsung.com> User-Agent: Mutt/1.5.23.1-rc1 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 06, 2022 at 10:11:05AM +0200, Pankaj Raghav wrote: > From: Luis Chamberlain > > Today dm-zoned relies on the assumption that you have a zone size > with a power of 2. Even though the block layer today enforces this > requirement, these devices do exist and so provide a stop-gap measure > to ensure these devices cannot be used by mistake > > Reviewed-by: Hannes Reinecke > Signed-off-by: Luis Chamberlain > Signed-off-by: Pankaj Raghav > --- > drivers/md/dm-zone.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/md/dm-zone.c b/drivers/md/dm-zone.c > index 3e7b1fe15..27dc4ddf2 100644 > --- a/drivers/md/dm-zone.c > +++ b/drivers/md/dm-zone.c > @@ -231,6 +231,18 @@ static int dm_revalidate_zones(struct mapped_device *md, struct dm_table *t) > struct request_queue *q = md->queue; > unsigned int noio_flag; > int ret; > + struct block_device *bdev = md->disk->part0; > + sector_t zone_sectors; > + char bname[BDEVNAME_SIZE]; > + > + zone_sectors = bdev_zone_sectors(bdev); > + > + if (!is_power_of_2(zone_sectors)) { is_power_of_2 takes 'unsigned long' and sector_t is u64, so this is not 32bit clean and we had an actual bug where value 1<<48 was not recognized as power of 2. > + DMWARN("%s: %s only power of two zone size supported\n", > + dm_device_name(md), > + bdevname(bdev, bname)); > + return 1; > + } > > /* > * Check if something changed. If yes, cleanup the current resources > -- > 2.25.1