]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/jfs/jfs_metapage.c
JFS: do not ignore return code from write_one_page()
[mirror_ubuntu-artful-kernel.git] / fs / jfs / jfs_metapage.c
index 744fa3c079e69823ec5ae526ab72ab93a80a4859..7cc1c85f4508fb9626bdfe94a66ca73773a46d82 100644 (file)
@@ -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 */