Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2591664pxb; Sun, 31 Oct 2021 20:09:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwHCmfCDMTWMCCJXHCrMgTAC0YMF25rK6NXAwyLO3g8HbU3tt+KnTCv0AlM0bwKBtD5QrNe X-Received: by 2002:a05:6638:1489:: with SMTP id j9mr19767375jak.18.1635736147546; Sun, 31 Oct 2021 20:09:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635736147; cv=none; d=google.com; s=arc-20160816; b=dCIWGIlxyvaASAI4lkPSjQhZCvwJHgyw7GqW+MczXBZmeLcQUuWPhPbTFvnnNmK3kq ojDowsokV1NfzqWDb0GiL0MrwujIT5DBo9qXzDkfMMOETkkiaQvOIsO8gZ/7979snEfJ 36Zckn+2I7j68igNeCBNKj92oeH2EoZ6N3fTq+uEUj8G9Po1R8TAfYrmgIQUaBH53YOx t/Q3WOTpRw9gN1piMC39hzyMKqWA3B9TetJXrXcgRWp7KTWZbXAwzX26WO0JWVRvpKJc E8AZ0Gt16HrQiGeu1pJTNvqTWyoYsfSspIN4EAwyZ/yjX7iAZbCryC4wZMnu92/dDFQR R4+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=M8BFqN8TcI5kuldI5vGkVopkwZV3KkZPFAPgoW4iSFg=; b=iInC40FEXvOUTXOaQyxJezwvAUUGK0iEV43Aei+qXOlYrqxOZRcoblnRhtqyt8b2cH i538dfmUjLxeqZywSl/dIH4+MMQEPSkHs/f51uKIrXnezBH6n9gWxGCW02PgnOa5oehX Yo9xWMlKMnXvzFUIQSWM3tV/uOiAqagtuZMr2Bs81froEVn3d0f0zc7kL/jhtlw1xYrf Jaw267HEtcQmPWQbyNU6Kn4dyC8cnxQn/n64vvt889ZZpxx4Bn4oj5i+Ae1gFq7B3rYW S/1zxZy+p/cd5Ne650zX7+YlyT8JwI7wSFSDZKlEZ/xGZ5bp0rYqvyNTbpr4gdC2axtZ Vp4A== 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 u9si12721507ill.20.2021.10.31.20.08.54; Sun, 31 Oct 2021 20:09:07 -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 S230312AbhKADKd (ORCPT + 99 others); Sun, 31 Oct 2021 23:10:33 -0400 Received: from zg8tmty1ljiyny4xntqumjca.icoremail.net ([165.227.154.27]:50707 "HELO zg8tmty1ljiyny4xntqumjca.icoremail.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S230222AbhKADKd (ORCPT ); Sun, 31 Oct 2021 23:10:33 -0400 Received: from fedora33.wangsu.com (unknown [59.61.78.138]) by app2 (Coremail) with SMTP id 4zNnewA3jc0IWn9hmH0AAA--.387S2; Mon, 01 Nov 2021 11:07:57 +0800 (CST) From: Lin Feng To: colyli@suse.de, kent.overstreet@gmail.com Cc: linux-bcache@vger.kernel.org, linux-kernel@vger.kernel.org, linf@wangsu.com Subject: [PATCH] bcache: make checkings for sb.nr_in_set and sb.nr_this_dev to be more precise Date: Mon, 1 Nov 2021 11:07:51 +0800 Message-Id: <20211101030751.8645-1-linf@wangsu.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: 4zNnewA3jc0IWn9hmH0AAA--.387S2 X-Coremail-Antispam: 1UD129KBjvJXoW7ZFW5tr1xKFy3Ww4fuF47twb_yoW8AFyfpF ZrZrySy34kZa15AryDAr48uFyrG343KayUGas2yas5Za4ava4rAFW7KryUAr1rWrWfXFsr tws8tryDWFykGFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: holqwq5zdqw23xof0z/ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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"; -- 2.31.1