@@ -78,7 +78,6 @@ struct meta_anchor {
atomic_t io_count;
struct metapage *mp[MPS_PER_PAGE];
};
-#define mp_anchor(page) ((struct meta_anchor *)page_private(page))
static inline struct metapage *folio_to_mp(struct folio *folio, int offset)
{
@@ -132,9 +131,11 @@ static inline void remove_metapage(struct folio *folio, struct metapage *mp)
}
}
-static inline void inc_io(struct page *page)
+static inline void inc_io(struct folio *folio)
{
- atomic_inc(&mp_anchor(page)->io_count);
+ struct meta_anchor *anchor = folio->private;
+
+ atomic_inc(&anchor->io_count);
}
static inline void dec_io(struct folio *folio, void (*handler) (struct folio *))
@@ -166,7 +167,7 @@ static inline void remove_metapage(struct folio *folio, struct metapage *mp)
kunmap(&folio->page);
}
-#define inc_io(page) do {} while(0)
+#define inc_io(folio) do {} while(0)
#define dec_io(folio, handler) handler(folio)
#endif
@@ -395,14 +396,14 @@ static int metapage_write_folio(struct folio *folio,
* Increment counter before submitting i/o to keep
* count from hitting zero before we're through
*/
- inc_io(&folio->page);
+ inc_io(folio);
if (!bio->bi_iter.bi_size)
goto dump_bio;
submit_bio(bio);
nr_underway++;
bio = NULL;
} else
- inc_io(&folio->page);
+ inc_io(folio);
xlen = (folio_size(folio) - offset) >> inode->i_blkbits;
pblock = metapage_get_blocks(inode, lblock, &xlen);
if (!pblock) {
@@ -496,7 +497,7 @@ static int metapage_read_folio(struct file *fp, struct folio *folio)
if (pblock) {
if (!folio->private)
insert_metapage(folio, NULL);
- inc_io(&folio->page);
+ inc_io(folio);
if (bio)
submit_bio(bio);
All their callers now have a folio, so pass it in. Remove mp_anchor() as inc_io() was the last user. No savings here, just cleaning up some remnants. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- fs/jfs/jfs_metapage.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)