Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp643193ybz; Wed, 22 Apr 2020 05:21:48 -0700 (PDT) X-Google-Smtp-Source: APiQypJafKhWrNZU4Otwd6C3DG4e8Tf4eHWbtPZwzts2XEh/EKBeHMPaZRdFHPY8ne/VOLpOoV4v X-Received: by 2002:a17:906:6a02:: with SMTP id o2mr25397730ejr.223.1587558107727; Wed, 22 Apr 2020 05:21:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587558107; cv=none; d=google.com; s=arc-20160816; b=GkK5NUs3Ke3Qwvdm0OvyaWAaTUEKlUV/1J/+Y+X1fflVhliVGAHC2SyKHx2ySPmpR7 PlgopREusT+yb4/ebPF19sCETDeMrJ2EzO74GKrlVyxNXCfYQFA4htUo06ZjLcWsnCmK dLEPvYUrZCZ37M93QBuJHJ7VTvqEP7gULrLIfJET53mtp0525lyCeboYXD8liD62KSwq THg8hbiA5bO89we8rdH6tlvwVAlWxJfqf/oTX1DuSvOqr1Zh4/YRtJMYtD6QQFMNA6sW xX3nMHCS8QSsZg5dkU9D4ToN5G6J+Bm4qmawHm0a4CTNx6TaadJKHWeILdyRrGSj/0Bh cViw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=UAzVMcuT3GQfm+kQDJ1+/wbjtMOA6IAy1VolI5KMRl8=; b=SuxSD6mAFaUEAvt3f7UKCqlDuyWb3cFJt5nISxIaZ8rfeqQoRzoVfcHk48jmX0XwLt ELXqSRkU1uzL/fs3ePJ03QeV7k2GMi0iLJ5daVAqy431dFJomGoZw+/PqQSVg9A7uefF jkDQj+WjFBWloiS3ogoZGXYjfqbrRRBXBbMihQP5WANoWrD7es7M0HDtNuHXy555UAJ0 Acf7gCwvu5BeMiWvIzsk1R1pP8zAOib+EPN8elLYXPZHmxH74mFGdXG/9eRymIH86Q2S BRCiNBH3CAmxD/Ay530xhDjUWdqTem1b/Bb7v4bbCaAPpwKtr+aQCs+DpGGJnlKBtk3q cVpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FLI86bYz; 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 g5si3424880edu.188.2020.04.22.05.21.24; Wed, 22 Apr 2020 05:21:47 -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=@kernel.org header.s=default header.b=FLI86bYz; 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 S1730467AbgDVKYt (ORCPT + 99 others); Wed, 22 Apr 2020 06:24:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:60782 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730405AbgDVKYP (ORCPT ); Wed, 22 Apr 2020 06:24:15 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D9C812077D; Wed, 22 Apr 2020 10:24:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587551054; bh=z2JrKhRoKKS+q6sD+25g7H8YHyXTUOaWkucZGm0Hnhg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FLI86bYzxVhg6vbUhHz7I7qNsfq1qDDw9oXDKyYLLuT4lO/o+IEpFD08Fjh7RUMVK Qha9MezAjPu3QmCj8uOsJAOkOWq2M67U8d94GA0zta25l7Y7Gsu4fCrFkYVTuhN6jh zH+Xms+0T3CHjwooRvLRq6mAay8ChqZqYKxEGFnE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sahitya Tummala , Chao Yu , Jaegeuk Kim , Sasha Levin Subject: [PATCH 5.6 083/166] f2fs: Add a new CP flag to help fsck fix resize SPO issues Date: Wed, 22 Apr 2020 11:56:50 +0200 Message-Id: <20200422095057.648732392@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200422095047.669225321@linuxfoundation.org> References: <20200422095047.669225321@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sahitya Tummala [ Upstream commit c84ef3c5e65ccf99a7a91a4d731ebb5d6331a178 ] Add and set a new CP flag CP_RESIZEFS_FLAG during online resize FS to help fsck fix the metadata mismatch that may happen due to SPO during resize, where SB got updated but CP data couldn't be written yet. fsck errors - Info: CKPT version = 6ed7bccb Wrong user_block_count(2233856) [f2fs_do_mount:3365] Checkpoint is polluted Signed-off-by: Sahitya Tummala Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim Signed-off-by: Sasha Levin --- fs/f2fs/checkpoint.c | 8 ++++++-- include/linux/f2fs_fs.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index 9c88fb3d255a2..79aaf06004f65 100644 --- a/fs/f2fs/checkpoint.c +++ b/fs/f2fs/checkpoint.c @@ -1301,10 +1301,14 @@ static void update_ckpt_flags(struct f2fs_sb_info *sbi, struct cp_control *cpc) else __clear_ckpt_flags(ckpt, CP_ORPHAN_PRESENT_FLAG); - if (is_sbi_flag_set(sbi, SBI_NEED_FSCK) || - is_sbi_flag_set(sbi, SBI_IS_RESIZEFS)) + if (is_sbi_flag_set(sbi, SBI_NEED_FSCK)) __set_ckpt_flags(ckpt, CP_FSCK_FLAG); + if (is_sbi_flag_set(sbi, SBI_IS_RESIZEFS)) + __set_ckpt_flags(ckpt, CP_RESIZEFS_FLAG); + else + __clear_ckpt_flags(ckpt, CP_RESIZEFS_FLAG); + if (is_sbi_flag_set(sbi, SBI_CP_DISABLED)) __set_ckpt_flags(ckpt, CP_DISABLED_FLAG); else diff --git a/include/linux/f2fs_fs.h b/include/linux/f2fs_fs.h index ac3f4888b3dfa..3c383ddd92ddd 100644 --- a/include/linux/f2fs_fs.h +++ b/include/linux/f2fs_fs.h @@ -125,6 +125,7 @@ struct f2fs_super_block { /* * For checkpoint */ +#define CP_RESIZEFS_FLAG 0x00004000 #define CP_DISABLED_QUICK_FLAG 0x00002000 #define CP_DISABLED_FLAG 0x00001000 #define CP_QUOTA_NEED_FSCK_FLAG 0x00000800 -- 2.20.1