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 X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AF522C433DF for ; Mon, 10 Aug 2020 07:27:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 931042073E for ; Mon, 10 Aug 2020 07:27:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726469AbgHJH16 (ORCPT ); Mon, 10 Aug 2020 03:27:58 -0400 Received: from mx2.suse.de ([195.135.220.15]:39526 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726010AbgHJH16 (ORCPT ); Mon, 10 Aug 2020 03:27:58 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 06B6EAC24 for ; Mon, 10 Aug 2020 07:28:17 +0000 (UTC) From: Qu Wenruo To: linux-btrfs@vger.kernel.org Subject: [PATCH 2/4] btrfs-progs: check/original: don't reset extent generation for check_block() Date: Mon, 10 Aug 2020 15:27:45 +0800 Message-Id: <20200810072747.64439-3-wqu@suse.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200810072747.64439-1-wqu@suse.com> References: <20200810072747.64439-1-wqu@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org In check_block(), we unconditionally reset extent_record::generation. This is in fact pretty correct, but this makes original mode fail to detect bad extent item geneartion. So change to behavior to set the geneartion if and only if the tree block generation is higher. Signed-off-by: Qu Wenruo --- check/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/check/main.c b/check/main.c index f93bd7d4ca70..72fa28ad216a 100644 --- a/check/main.c +++ b/check/main.c @@ -4440,7 +4440,8 @@ static int check_block(struct btrfs_root *root, if (!cache) return 1; rec = container_of(cache, struct extent_record, cache); - rec->generation = btrfs_header_generation(buf); + if (rec->generation < btrfs_header_generation(buf)) + rec->generation = btrfs_header_generation(buf); level = btrfs_header_level(buf); if (btrfs_header_nritems(buf) > 0) { -- 2.28.0