Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp171205imd; Wed, 31 Oct 2018 16:45:22 -0700 (PDT) X-Google-Smtp-Source: AJdET5fQNJNw4mzmWuGP1YnWIPvQCxKGLFTP9K+Ls7dygEdTwY31img7arrNNFTq4llFeN6+lUD5 X-Received: by 2002:a63:7b06:: with SMTP id w6mr5023132pgc.288.1541029522647; Wed, 31 Oct 2018 16:45:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541029522; cv=none; d=google.com; s=arc-20160816; b=WKfYHIV9BVa+jt+SpB5cC2Zz08mkI9LJl/O6GYW7XJ7gfR033X+hyc9wZBBoLiMj9S F3cXWeOKnOoX0yl23NVopFMsSarbjeLl2DD1e40fhJLsWqF59I2xQsabtDEqrpn8NPMF 6kFPivQ82ikkOpAEJ2v6OvU8SciKcSMF63AIIoT1EkoKhXqIdOT3mupp+r1saxg8JOWs RoFQRsVRdXXqA9A9uXXTMuHaY9yRHm9lgDJkh1Qp9FfMFBeV1s9whe+O3Dwy36y2k68w /AxFKoniEFZVuPINtcbT3ron6X2O7Zpy7W6sA04qNO1qbVeC+ldzlLMHDDOVlGVGzHWD 90lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=ACRssnNlQML+ZKfbDwd68AzAghD1GTXze4Gz27Na1WA=; b=uMwTk0A1hw1zn2jPi+db9qZn4AWQb224JaC+55mlGQwL7QhJ0l63YE2pERPrhHCxOx i68B93/FDnLpNhh3RRGq0Q3aLeKwWJvjVk4teMmP3VA3L6371Wbea5cvEzv0xcmDLp3r scGcHHhOYTqa7YLv2LhZ0+P+/Y85Vy/cLRz0lbrB3k8MJSuuOIqh9UTBqfHjS+fxvKuw YunJRXzizaeg43ilgsEquDfNVAoT0hgFgjJuRR+Gf2cxAhJ7ZbLIm9EFaJRs9cmVMs4M LxXo5t0eTMnmjIN84aAFBXwXWe02zSSBfvDGRhgWl9RQzySjU2ybWqVOGLZc1CT9vG3k sAlg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FtjE2zOG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w7-v6si28089050pgh.131.2018.10.31.16.45.08; Wed, 31 Oct 2018 16:45:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FtjE2zOG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729391AbeKAInx (ORCPT + 99 others); Thu, 1 Nov 2018 04:43:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:55764 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729095AbeKAIHn (ORCPT ); Thu, 1 Nov 2018 04:07:43 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A141920830; Wed, 31 Oct 2018 23:07:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541027253; bh=YpaCoHUzS4yD05OD76ZuEj0PQXUzKZ8odnoZIlH25no=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FtjE2zOGvSc7VKuweAR6UNRbDllnDj6uOeWVoNo+LGqJuTaCtVI2gw8uaryOCB3B6 9VQlLbZMbxO75XJj0MgIAK6YxNFy7bt+q6Uvg9H5spA+1Fk1Vqz3VlVKuFXgQo9Od+ A5Xh4vSW0zihQ++dC95aKSZMR4QHab6fdBF/LY7U= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Chao Yu , Jaegeuk Kim , Sasha Levin Subject: [PATCH AUTOSEL 4.19 123/146] f2fs: fix to recover inode's crtime during POR Date: Wed, 31 Oct 2018 19:05:18 -0400 Message-Id: <20181031230541.28822-123-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181031230541.28822-1-sashal@kernel.org> References: <20181031230541.28822-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chao Yu [ Upstream commit 5cd1f387a13b5188b4edb4c834310302a85a6ea2 ] Testcase to reproduce this bug: 1. mkfs.f2fs -O extra_attr -O inode_crtime /dev/sdd 2. mount -t f2fs /dev/sdd /mnt/f2fs 3. touch /mnt/f2fs/file 4. xfs_io -f /mnt/f2fs/file -c "fsync" 5. godown /mnt/f2fs 6. umount /mnt/f2fs 7. mount -t f2fs /dev/sdd /mnt/f2fs 8. xfs_io -f /mnt/f2fs/file -c "statx -r" stat.btime.tv_sec = 0 stat.btime.tv_nsec = 0 This patch fixes to recover inode creation time fields during mount. Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim Signed-off-by: Sasha Levin --- fs/f2fs/node.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index dd2e45a661aa..fe5c9ff92772 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -2560,6 +2560,13 @@ int f2fs_recover_inode_page(struct f2fs_sb_info *sbi, struct page *page) F2FS_FITS_IN_INODE(src, le16_to_cpu(src->i_extra_isize), i_projid)) dst->i_projid = src->i_projid; + + if (f2fs_sb_has_inode_crtime(sbi->sb) && + F2FS_FITS_IN_INODE(src, le16_to_cpu(src->i_extra_isize), + i_crtime_nsec)) { + dst->i_crtime = src->i_crtime; + dst->i_crtime_nsec = src->i_crtime_nsec; + } } new_ni = old_ni; -- 2.17.1