Hi Jinliang, On Mon, 11 Aug 2025 at 18:49, <alexjlzheng@xxxxxxxxx> wrote: > From: Jinliang Zheng <alexjlzheng@xxxxxxxxxxx> > > iomap_folio_state marks the uptodate state in units of block_size, so > it is better to check that pos and length are aligned with block_size. > > Signed-off-by: Jinliang Zheng <alexjlzheng@xxxxxxxxxxx> Thanks for your patch! > --- a/fs/iomap/buffered-io.c > +++ b/fs/iomap/buffered-io.c > @@ -234,6 +234,9 @@ static void iomap_adjust_read_range(struct inode *inode, struct folio *folio, > unsigned first = poff >> block_bits; > unsigned last = (poff + plen - 1) >> block_bits; > > + BUG_ON(*pos & (block_size - 1)); > + BUG_ON(length & (block_size - 1)); !IS_ALIGNED(...) > + > /* > * If the block size is smaller than the page size, we need to check the > * per-block uptodate status and adjust the offset and length if needed Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds