On Wed, Apr 17, 2024 at 01:40:36 PM +0200, Christian Brauner wrote: > On Wed, Apr 17, 2024 at 10:12:10AM +0530, Chandan Babu R wrote: >> 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@xxxxxxxxxxxxxxx/ >> > [2] https://lore.kernel.org/linux-ext4/9b0040ef-3d9d-6246-4bdd-82b9a8f55fa2@xxxxxxxxxxxxxxx/ >> > [3] https://lore.kernel.org/linux-ext4/9c9f1831-a772-299b-072b-1c8116c3fb35@xxxxxxxxxxxxxxx/ >> > >> > 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. > > It'd be nice if I could take the iomap patches into the vfs.iomap tree > that you can then pull from if you depend on it.. There's already some > cleanups in there. Sounds ok? Yes, that works for me. I will pick only those patches that are specific to XFS i.e. patches numbered 1 to 4. -- Chandan