On Thu, Nov 16, 2023 at 02:40:10PM +0800, zhangshida wrote: > From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> > > commit 4595a298d5563cf76c1d852970f162051fd1a7a6 upstream. > > For filesystems with block size < page size, we need to set all the > per-block uptodate bits if the page was already uptodate at the time > we create the per-block metadata. This can happen if the page is > invalidated (eg by a write to drop_caches) but ultimately not removed > from the page cache. > > This is a data corruption issue as page writeback skips blocks which > are marked !uptodate. > > Fixes: 9dc55f1389f9 ("iomap: add support for sub-pagesize buffered I/O without buffer heads") > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > Reported-by: Qian Cai <cai@xxxxxxxxxx> > Cc: Brian Foster <bfoster@xxxxxxxxxx> > Reviewed-by: Gao Xiang <hsiangkao@xxxxxxxxxx> > Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > Signed-off-by: Shida Zhang <zhangshida@xxxxxxxxxx> > --- > fs/iomap.c | 3 +++ > 1 file changed, 3 insertions(+) Now queued up, thanks. greg k-h