|
@@ -664,6 +664,7 @@ struct metapage *__get_metapage(struct inode *inode, unsigned long lblock,
|
|
|
INCREMENT(mpStat.pagealloc);
|
|
|
mp = alloc_metapage(GFP_NOFS);
|
|
|
mp->page = page;
|
|
|
+ mp->sb = inode->i_sb;
|
|
|
mp->flag = 0;
|
|
|
mp->xflag = COMMIT_PAGE;
|
|
|
mp->count = 1;
|
|
@@ -711,7 +712,8 @@ void force_metapage(struct metapage *mp)
|
|
|
get_page(page);
|
|
|
lock_page(page);
|
|
|
set_page_dirty(page);
|
|
|
- write_one_page(page);
|
|
|
+ if (write_one_page(page))
|
|
|
+ jfs_error(mp->sb, "write_one_page() failed\n");
|
|
|
clear_bit(META_forcewrite, &mp->flag);
|
|
|
put_page(page);
|
|
|
}
|
|
@@ -756,7 +758,8 @@ void release_metapage(struct metapage * mp)
|
|
|
set_page_dirty(page);
|
|
|
if (test_bit(META_sync, &mp->flag)) {
|
|
|
clear_bit(META_sync, &mp->flag);
|
|
|
- write_one_page(page);
|
|
|
+ if (write_one_page(page))
|
|
|
+ jfs_error(mp->sb, "write_one_page() failed\n");
|
|
|
lock_page(page); /* write_one_page unlocks the page */
|
|
|
}
|
|
|
} else if (mp->lsn) /* discard_metapage doesn't remove it */
|