Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2674190pxb; Sun, 31 Oct 2021 22:30:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyVm/Ba34S6D81Fv/7eK8wjXCyzITvsZelXiAZ7D90TO/NNsq0QxpaOIjrPwOOD000pg53+ X-Received: by 2002:a6b:c403:: with SMTP id y3mr2370978ioa.21.1635744631094; Sun, 31 Oct 2021 22:30:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635744631; cv=none; d=google.com; s=arc-20160816; b=e6jrTyZMgJwwVt/lr3sffR/L+mfkFx3WQl5czJ//Me14B1pjGwo1xQsfkrAY5jNvmo O2zffBRQ6MiaRN7Xdx5GR0wJ3IKpjRY/tBb7/ErNPhbjay0IsppftldHIkNsP5X+TIG8 9hiHcvi9dMFvX7C2fJSkr67ZQ7/Uka4REi+h6LdWy8Gh2arBzda1zELPF9gfvJkr/Ukd eHAvbdhUdmpAlTFAkr8MqcZEH48JhRI7+hauBjDoLPo8AadLiu4Ll79jICaQmQ2uBcbd MzcpV03tV4pPNkBxXQGTarmWulO7SjXKywYh18DmdxR99tUpBBZ0BbEvPoU7llpJjzQ5 wicg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature:dkim-signature; bh=2f9OAzzfJHvRfINaxNeskzvutF1GbL7BKDUPsw3Xn2Y=; b=ZR22lsJC9syEPUzpxRKc83K2i4S+PftAGQFUIb9CvDnBgq5CQvJzfRPYo8K0zbt7Tg oz1N2WPdTAUbX3NGPeeSjBjGrB4Xvm+rU07stNubhFp6uZ5QPYpcLLckZcFGybyRAefi Zr4QbH9IXf1kLRFgw0lBgkYWElgBmmtLNiJmCfE5YEGeVb4vKTWEVVGZ3ixn4GOAZAbo kqqJZKTQYEP/1ZMskf4tNdopSIl8OCmbRuHW4nqB7VuEY0YU2c3YChbJ5ZPxZ5jaiwDe GVMXghYL5hsWmQTZs9p1cAAz5Y0BUY7N+KchhpihrEbvnsxPnufcaGV/uPXUfSqyjKo0 pvuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=o7kFO+o8; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=8phHEmcu; 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=suse.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m17si14910280ilj.158.2021.10.31.22.30.19; Sun, 31 Oct 2021 22:30:31 -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=@suse.de header.s=susede2_rsa header.b=o7kFO+o8; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=8phHEmcu; 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=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229917AbhKAFbu (ORCPT + 99 others); Mon, 1 Nov 2021 01:31:50 -0400 Received: from smtp-out1.suse.de ([195.135.220.28]:37374 "EHLO smtp-out1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229502AbhKAFbt (ORCPT ); Mon, 1 Nov 2021 01:31:49 -0400 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-out1.suse.de (Postfix) with ESMTPS id DD6E62192D; Mon, 1 Nov 2021 05:29:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1635744555; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2f9OAzzfJHvRfINaxNeskzvutF1GbL7BKDUPsw3Xn2Y=; b=o7kFO+o8eHSOSi9a//Yb4bLikBrGF0kWOfCJCtQbCGOq6mAMyBbwwP4UjlsEBuHX8BLd+m pusXpho4Y/Zr+jLpjDBMvhpsdNf6EBSFmn+mZhD7qIZtIlgIiv8yr3FZ4dkLWPCN7/wEiO U0L+q+i7rv2GkwZ9Nu1j+TeMW06pgII= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1635744555; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2f9OAzzfJHvRfINaxNeskzvutF1GbL7BKDUPsw3Xn2Y=; b=8phHEmcuCpPQjjmAmmGWk3bwwN2oMirunEJpjSzlV7lo840AYI8qmO+QuEeP7Zlqysrkk6 j+N3rq/QYyzFPmDQ== 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 C9A6C1323E; Mon, 1 Nov 2021 05:29:14 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id odijJCp7f2G1cgAAMHmgww (envelope-from ); Mon, 01 Nov 2021 05:29:14 +0000 Message-ID: <2c190f49-ffde-c6eb-e632-3f53832a3d83@suse.de> Date: Mon, 1 Nov 2021 13:29:12 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.2.1 Subject: Re: [PATCH] bcache: make checkings for sb.nr_in_set and sb.nr_this_dev to be more precise Content-Language: en-US To: Lin Feng Cc: linux-bcache@vger.kernel.org, linux-kernel@vger.kernel.org, kent.overstreet@gmail.com References: <20211101030751.8645-1-linf@wangsu.com> From: Coly Li In-Reply-To: <20211101030751.8645-1-linf@wangsu.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/1/21 11:07 AM, Lin Feng wrote: > Commit 697e23495c94f0380c1ed8b11f830b92b64c99ea > ("bcache: explicitly make cache_set only have single cache") > explicitly makes a cache_set only have single cache and based on the > fact that historily only one cache is ever used in the cache set, so > valid number fo sb.nr_in_set should be 1 and sb.nr_this_dev should > always be 0. > > Based on above truth, codes validations for sb.nr_in_set and sb.nr_this_dev > can make to be more accurate, that means tolerance for error checking > are reduced comparing before. > > Signed-off-by: Lin Feng Hi Lin, Thanks for the patch up. I add this change to my for-test directory. Coly Li > --- > drivers/md/bcache/bcache.h | 2 +- > drivers/md/bcache/super.c | 4 +--- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h > index 5fc989a6d452..a4a410a178c0 100644 > --- a/drivers/md/bcache/bcache.h > +++ b/drivers/md/bcache/bcache.h > @@ -833,7 +833,7 @@ static inline uint8_t ptr_stale(struct cache_set *c, const struct bkey *k, > static inline bool ptr_available(struct cache_set *c, const struct bkey *k, > unsigned int i) > { > - return (PTR_DEV(k, i) < MAX_CACHES_PER_SET) && c->cache; > + return (PTR_DEV(k, i) == 0) && c->cache; > } > > /* Btree key macros */ > diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c > index f2874c77ff79..2253044c9289 100644 > --- a/drivers/md/bcache/super.c > +++ b/drivers/md/bcache/super.c > @@ -140,9 +140,7 @@ static const char *read_super_common(struct cache_sb *sb, struct block_device * > goto err; > > err = "Bad cache device number in set"; > - if (!sb->nr_in_set || > - sb->nr_in_set <= sb->nr_this_dev || > - sb->nr_in_set > MAX_CACHES_PER_SET) > + if (sb->nr_in_set != 1 || sb->nr_this_dev != 0) > goto err; > > err = "Journal buckets not sequential";