Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3728082pxb; Mon, 24 Jan 2022 16:30:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJzNwgRGl9yFelg/ivraBcikM2AMSjSfcMx9grMG3IT+TosYBfVdp4cWEo1QW+cVEY21ClyK X-Received: by 2002:a17:902:d10a:b0:14b:4a73:8778 with SMTP id w10-20020a170902d10a00b0014b4a738778mr7796781plw.53.1643070616442; Mon, 24 Jan 2022 16:30:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643070616; cv=none; d=google.com; s=arc-20160816; b=XdKWkjmmAmL4agljNgqJh6VtiImVkWnkrthmcEceiK0NqTbzIPhCs3NJHRBvl2WsLm qrFDEBuo79HHw35pGKPO/+SJHaW1eP1NTBqzvD0/o47rebDMxO6bfTBCyfVGSdSukDUS ZSe75syuh+/rJBTyKYE+WTE97osp1ddfubnZg28EOq+k5p6PkA2h/jcx2/Wyvvk6A5xG MW3IX1a/0FcvK9EMTy/DyZHXRQlt3/c4pYVEDJ44fRcoB0tsNckqiq55KtQHl7Rfcb5V moB4U5nSSUJy4adXGKqxpDdVZGRV8WpxTcfGixxMjErAPI8O/5n8f0LDgYolIAi2Slzi vIzA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=PYIoongS8ReVJA/9YPW1H5klVFTRp1Lw/lMfARYFZuA=; b=CkjJ8qSRaKmhYbVY2SqE/v+VZZsXAWF2d8C39xPVqTPt1r/GvG/ySXjxuGEOsV3pco 2HgnJ6qgMEJR1l4YLC6kbdUb/w8fqAtkIFXbB7sLJjkr1EmQGtg5WFDq5xW9o1oVolI0 26AiUxHDs7JpE33zTaUoUOodmLCgd5yiHrZgqTAD/bTvoIL6D6penZoC7z6+wFAkp0Jy nPrkFB6R9lP+H5VcW8qrZGuLSgXdKMBa2LJjqK688KgstCUj4RtTYjNhTkkKwx8fiLnl PhB1qf6I51Y/A3W1VqtyvKEe85SZXfobX2acLQKRF4SJMV27q1i/QMS8FUcP7S4iL4OU GZlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="P6g/cuid"; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nn2si340512pjb.75.2022.01.24.16.30.01; Mon, 24 Jan 2022 16:30:16 -0800 (PST) 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=@linuxfoundation.org header.s=korg header.b="P6g/cuid"; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S3408147AbiAYAVp (ORCPT + 99 others); Mon, 24 Jan 2022 19:21:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2360414AbiAXXgn (ORCPT ); Mon, 24 Jan 2022 18:36:43 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38358C0ADFDF; Mon, 24 Jan 2022 13:37:49 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CAD726151E; Mon, 24 Jan 2022 21:37:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EFB3C340E5; Mon, 24 Jan 2022 21:37:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643060268; bh=aUqMRbesUG+fUwoezkLtVOmqh/MbsZg6evIG255zsv8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P6g/cuid4NTAAyWiC2zQiPHPsuX4fWZ/kCzzgTxHKLrtMmphglcq50vkm9kYzJh/8 U7XZf4zYjE+zh/Ogze4UrX9yQlP4q9lDcu3xrnzDHtDtBsEMpYfOr2FZ8h8vQnRgtF ZVR6u1rKT9zJ9HCvLpmmFlAM5l+2pW0lAT/3gs1o= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Xin Yin , Harshad Shirwadkar , Theodore Tso , stable@kernel.org Subject: [PATCH 5.16 0893/1039] ext4: fix fast commit may miss tracking range for FALLOC_FL_ZERO_RANGE Date: Mon, 24 Jan 2022 19:44:42 +0100 Message-Id: <20220124184155.301106304@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184125.121143506@linuxfoundation.org> References: <20220124184125.121143506@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Xin Yin commit 5e4d0eba1ccaf19f93222abdeda5a368be141785 upstream. when call falloc with FALLOC_FL_ZERO_RANGE, to set an range to unwritten, which has been already initialized. If the range is align to blocksize, fast commit will not track range for this change. Also track range for unwritten range in ext4_map_blocks(). Signed-off-by: Xin Yin Reviewed-by: Harshad Shirwadkar Link: https://lore.kernel.org/r/20211221022839.374606-1-yinxin.x@bytedance.com Signed-off-by: Theodore Ts'o Cc: stable@kernel.org Signed-off-by: Greg Kroah-Hartman --- fs/ext4/extents.c | 2 -- fs/ext4/inode.c | 7 ++++--- 2 files changed, 4 insertions(+), 5 deletions(-) --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -4647,8 +4647,6 @@ static long ext4_zero_range(struct file ret = ext4_mark_inode_dirty(handle, inode); if (unlikely(ret)) goto out_handle; - ext4_fc_track_range(handle, inode, offset >> inode->i_sb->s_blocksize_bits, - (offset + len - 1) >> inode->i_sb->s_blocksize_bits); /* Zero out partial block at the edges of the range */ ret = ext4_zero_partial_blocks(handle, inode, offset, len); if (ret >= 0) --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -741,10 +741,11 @@ out_sem: if (ret) return ret; } - ext4_fc_track_range(handle, inode, map->m_lblk, - map->m_lblk + map->m_len - 1); } - + if (retval > 0 && (map->m_flags & EXT4_MAP_UNWRITTEN || + map->m_flags & EXT4_MAP_MAPPED)) + ext4_fc_track_range(handle, inode, map->m_lblk, + map->m_lblk + map->m_len - 1); if (retval < 0) ext_debug(inode, "failed with err %d\n", retval); return retval;