Christoph Hellwig <hch@xxxxxxxxxxxxx> writes: >> + * inline helpers for bitmap operations on iop->state >> + */ >> +static inline void iop_set_range(struct iomap_page *iop, unsigned int start_blk, >> + unsigned int nr_blks) >> +{ >> + bitmap_set(iop->state, start_blk, nr_blks); >> +} >> + >> +static inline bool iop_test_block(struct iomap_page *iop, unsigned int block) >> +{ >> + return test_bit(block, iop->state); >> +} >> + >> +static inline bool iop_bitmap_full(struct iomap_page *iop, >> + unsigned int blks_per_folio) >> +{ >> + return bitmap_full(iop->state, blks_per_folio); >> +} > > I don't really see much poin in these helpers, any particular reason > for adding them? > We ended up modifying the APIs in v5. The idea on v4 was we will keep iop_set_range() function which will be same for both uptodate and dirty. The caller can pass start_blk depending upon whether we dirty/uptodate needs to be marked. But I guess with the API changes, we don't need this low level helpers anymore. So If no one has any objection, I can kill this one liners. >> +/* >> + * iop related helpers for checking uptodate/dirty state of per-block >> + * or range of blocks within a folio >> + */ > > I'm also not sure this comment adds a whole lot of value. > > The rest looks good modulo the WARN_ONs already mentined by Brian. Sure. Thanks for the review! -ritesh