Received: by 2002:a05:6500:1b45:b0:1f5:f2ab:c469 with SMTP id cz5csp391479lqb; Tue, 16 Apr 2024 21:45:38 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXiWH3f0GTJPfVzICvK1dKt84mk9A6rzswMmXEkWyoO9tSZMD7+2AEAp2j6OULHkjEvA9h0sp4MNc4OlYEP7RYnf0W9Y576Muk3h4ngMQ== X-Google-Smtp-Source: AGHT+IGmhgpPR53Y0orQskpv9Nr8eojjBs14nA1XG2Jj0KW32PeeGvphpVMtrjixjI+l2RRpklMO X-Received: by 2002:a05:6a00:4b51:b0:6ea:c4b3:10b7 with SMTP id kr17-20020a056a004b5100b006eac4b310b7mr16623273pfb.17.1713329137867; Tue, 16 Apr 2024 21:45:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713329137; cv=pass; d=google.com; s=arc-20160816; b=TcYYGAuzuhibBIT6/P/jHTDB4WZhCG1ON880yq5Fb36l9lwNoss5RVz3oYSgJmhGEY T7aYO5PDl0yqj9YkerpG2yNhnX/u0Q/LCQBnMsiB/KkS5VGl69PChS/EeZRFjZYdRL2q cqJC2DrRK9XUxD/BbQvG+1PMF65JTgpft9V9oJrVfddkAE46s5ND9QFuGllwdRwhuUJ9 Y6/cYc4f8Vj9CL8UBj/9o0sgU0QbQAFpXgpVOF+XzhBADDltGUXyg8XFlBxJkaCK1wLb Mf8AKwHQGrKiu8SpKSDJp+pbUE2DbIHz8meNsf4VQTI0YB8eIl5m0mipmnaLoJCreQJY eo+A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :message-id:in-reply-to:date:subject:cc:to:from:user-agent :references:dkim-signature; bh=XvrazFVYunOaxjtjp6Q9hiaqFaVfMNuuN6nRU4Wg8Po=; fh=AfJmFgODneANbQY2M1rYf2EOoZlB4hjNXWcdT4cc+zk=; b=RRDK2jOZ7+N553FtyTM+/55MgzQVraclvR6pIJPtFyczBNzlmLcWRpf0DJ5ihUIRuh jGTvuKc6zB1iigABtQLfaKj34QENl5IX5hzBTa9kfEE1OVFIVy9b+fs+XhIi/SnKE7Za C+45QRmrVs1vqp4yl1q/tR2oJ1wOgUYoRAuDxqJ9Lzwk/vSakcY2k/LU2XZVjlu3+LNf dJ7aEnMxHnrXYiOEv0e27EFrZpduEJ+873Tg+ootGAtQ+O/0LRs8DdsPidvCswYtMRyN btMEVXZU0aZ3aBdOVPjG+kEjXWyahPTGg80M1oAci81Jt1m7fZO5hLQDw+7q917ut9hx eEyA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gT8CmgOi; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-147932-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-147932-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id g14-20020a63110e000000b005d6b61e24afsi10661639pgl.763.2024.04.16.21.45.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Apr 2024 21:45:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-147932-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gT8CmgOi; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-147932-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-147932-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 5EB7DB2144F for ; Wed, 17 Apr 2024 04:45:31 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 146BB4597B; Wed, 17 Apr 2024 04:45:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gT8CmgOi" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1F81F40847; Wed, 17 Apr 2024 04:45:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713329119; cv=none; b=DRZgnHIf3ZqJt0hfS1kZEHZQ80nV9gW7rshRlU8zFarXAvTYY0UcXKjOEcTjg5cDm6VUIRkpciCViOOyzAsdNEHLXZYhQFxYlAVQ9ld1ISVkrwFU9evouuBRg5kAMFUhgyuQnRoyCVBZL4iYobcoPmhS9jZZX0+vzzLU6MdZPB4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713329119; c=relaxed/simple; bh=d3UI7TPsKQ6hePG28+svcxqObPL4Pt/HEcBjwPLGNzU=; h=References:From:To:Cc:Subject:Date:In-reply-to:Message-ID: MIME-Version:Content-Type; b=CcoUSmau8hC3gPjZ5ngf1b0lKKCGOLdysbohWuBnW/OQp+b+UsxcxSURB2vqnHla0UmZOh2EM6v/cWzCAuUM2q6zAHpnMpVIhLDr1ClKYQkWqaDi5AhNrKEBYBI9856GA53R/eAqivmOTV2zssWVCIE2cE7T7eMVuLdblfciWF8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gT8CmgOi; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35EEBC072AA; Wed, 17 Apr 2024 04:45:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713329118; bh=d3UI7TPsKQ6hePG28+svcxqObPL4Pt/HEcBjwPLGNzU=; h=References:From:To:Cc:Subject:Date:In-reply-to:From; b=gT8CmgOiOdcbtHflAEjF4Qw72KcTh3+J5vJQTBS7Ri/styB0ktHbpFDHnusUDABSn +If5NL10FHgBc+RHv8+nZKY8XRIKNixeNhO4+ep/770XcCEHxaTnEOuLYBRJCq79jV Yai3a3Twt1B0wwUZLrESU7Y+O9XdgBTXMZQaQOZga8ax7OnZO4bZPexCsgXe8XdpLf P8b/xXOoff+gSfIcvJ+5xvZxkurKPu3LGtCERLR5O2G/gwaLLgxuO5ERi7vDGVvdtm mL8K0gcdjtZYt3LAlciLpoFUM/Df0zVL2P3xDCzSQE6e2tkrLfNV4gM53iUpy4J3Z0 lEYva8Sfduj6Q== References: <20240320110548.2200662-1-yi.zhang@huaweicloud.com> User-agent: mu4e 1.10.8; emacs 29.2 From: Chandan Babu R To: Zhang Yi Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, djwong@kernel.org, hch@infradead.org, brauner@kernel.org, david@fromorbit.com, tytso@mit.edu, jack@suse.cz, yi.zhang@huawei.com, chengzhihao1@huawei.com, yukuai3@huawei.com Subject: Re: [PATCH v4 0/9] xfs/iomap: fix non-atomic clone operation and don't update size when zeroing range post eof Date: Wed, 17 Apr 2024 10:12:10 +0530 In-reply-to: <20240320110548.2200662-1-yi.zhang@huaweicloud.com> Message-ID: <87ttk0d2ck.fsf@debian-BULLSEYE-live-builder-AMD64> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Wed, Mar 20, 2024 at 07:05:39 PM +0800, Zhang Yi wrote: > Changes since v3: > - Improve some git message comments and do some minor code cleanup, no > logic changes. > > Changes since v2: > - Merge the patch for dropping of xfs_convert_blocks() and the patch > for modifying xfs_bmapi_convert_delalloc(). > - Reword the commit message of the second patch. > > Changes since v1: > - Make xfs_bmapi_convert_delalloc() to allocate the target offset and > drop the writeback helper xfs_convert_blocks(). > - Don't use xfs_iomap_write_direct() to convert delalloc blocks for > zeroing posteof case, use xfs_bmapi_convert_delalloc() instead. > - Fix two off-by-one issues when converting delalloc blocks. > - Add a separate patch to drop the buffered write failure handle in > zeroing and unsharing. > - Add a comments do emphasize updating i_size should under folio lock. > - Make iomap_write_end() to return a boolean, and do some cleanups in > buffered write begin path. > > This patch series fix a problem of exposing zeroed data on xfs since the > non-atomic clone operation. This problem was found while I was > developing ext4 buffered IO iomap conversion (ext4 is relying on this > fix [1]), the root cause of this problem and the discussion about the > solution please see [2]. After fix the problem, iomap_zero_range() > doesn't need to update i_size so that ext4 can use it to zero partial > block, e.g. truncate eof block [3]. > > [1] https://lore.kernel.org/linux-ext4/20240127015825.1608160-1-yi.zhang@huaweicloud.com/ > [2] https://lore.kernel.org/linux-ext4/9b0040ef-3d9d-6246-4bdd-82b9a8f55fa2@huaweicloud.com/ > [3] https://lore.kernel.org/linux-ext4/9c9f1831-a772-299b-072b-1c8116c3fb35@huaweicloud.com/ > > Thanks, > Yi. > > Zhang Yi (9): > xfs: match lock mode in xfs_buffered_write_iomap_begin() > xfs: make the seq argument to xfs_bmapi_convert_delalloc() optional > xfs: make xfs_bmapi_convert_delalloc() to allocate the target offset > xfs: convert delayed extents to unwritten when zeroing post eof blocks > iomap: drop the write failure handles when unsharing and zeroing > iomap: don't increase i_size if it's not a write operation > iomap: use a new variable to handle the written bytes in > iomap_write_iter() > iomap: make iomap_write_end() return a boolean > iomap: do some small logical cleanup in buffered write > Hi all, I have picked up this patchset for inclusion into XFS' 6.10-rc1 patch queue. Please let me know if there are any objections. -- Chandan