Christoph Hellwig 8d3c1fa3fa f2fs: don't rely on F2FS_MAP_* in f2fs_iomap_begin
When testing with a mixed zoned / convention device combination, there
are regular but not 100% reproducible failures in xfstests generic/113
where the __is_valid_data_blkaddr assert hits due to finding a hole.

This seems to be because f2fs_map_blocks can set this flag on a hole
when it was found in the extent cache.

Rework f2fs_iomap_begin to just check the special block numbers directly.
This has the added benefits of the WARN_ON showing which invalid block
address we found, and being properly error out on delalloc blocks that
are confusingly called unwritten but not actually suitable for direct
I/O.

Fixes: 1517c1a7a445 ("f2fs: implement iomap operations")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-01-06 15:12:28 -08:00
..
2022-10-19 12:55:42 +02:00
2022-10-19 12:55:42 +02:00
2022-11-28 12:46:33 -08:00
2022-12-14 15:27:57 -08:00
2022-12-12 14:53:56 -08:00
2021-08-23 10:25:51 -07:00
2022-12-14 15:27:57 -08:00
2022-12-12 14:53:56 -08:00
2022-12-12 14:53:56 -08:00