Loading fs/erofs/zdata.c +14 −19 Original line number Diff line number Diff line Loading @@ -643,28 +643,23 @@ static int z_erofs_do_read_page(struct z_erofs_decompress_frontend *fe, repeat: cur = end - 1; /* lucky, within the range of the current map_blocks */ if (offset + cur >= map->m_la && offset + cur < map->m_la + map->m_llen) { /* didn't get a valid pcluster previously (very rare) */ if (!fe->pcl) goto restart_now; goto hitted; } /* go ahead the next map_blocks */ erofs_dbg("%s: [out-of-range] pos %llu", __func__, offset + cur); if (offset + cur < map->m_la || offset + cur >= map->m_la + map->m_llen) { erofs_dbg("out-of-range map @ pos %llu", offset + cur); if (z_erofs_collector_end(fe)) fe->backmost = false; map->m_la = offset + cur; map->m_llen = 0; err = z_erofs_map_blocks_iter(inode, map, 0); if (err) goto err_out; } else { if (fe->pcl) goto hitted; /* didn't get a valid pcluster previously (very rare) */ } restart_now: if (!(map->m_flags & EROFS_MAP_MAPPED)) goto hitted; Loading Loading
fs/erofs/zdata.c +14 −19 Original line number Diff line number Diff line Loading @@ -643,28 +643,23 @@ static int z_erofs_do_read_page(struct z_erofs_decompress_frontend *fe, repeat: cur = end - 1; /* lucky, within the range of the current map_blocks */ if (offset + cur >= map->m_la && offset + cur < map->m_la + map->m_llen) { /* didn't get a valid pcluster previously (very rare) */ if (!fe->pcl) goto restart_now; goto hitted; } /* go ahead the next map_blocks */ erofs_dbg("%s: [out-of-range] pos %llu", __func__, offset + cur); if (offset + cur < map->m_la || offset + cur >= map->m_la + map->m_llen) { erofs_dbg("out-of-range map @ pos %llu", offset + cur); if (z_erofs_collector_end(fe)) fe->backmost = false; map->m_la = offset + cur; map->m_llen = 0; err = z_erofs_map_blocks_iter(inode, map, 0); if (err) goto err_out; } else { if (fe->pcl) goto hitted; /* didn't get a valid pcluster previously (very rare) */ } restart_now: if (!(map->m_flags & EROFS_MAP_MAPPED)) goto hitted; Loading