*/
int jfs_umount(struct super_block *sb)
{
- struct address_space *bdev_mapping = sb->s_bdev->bd_inode->i_mapping;
struct jfs_sb_info *sbi = JFS_SBI(sb);
struct inode *ipbmap = sbi->ipbmap;
struct inode *ipimap = sbi->ipimap;
* Make sure all metadata makes it to disk before we mark
* the superblock as clean
*/
- filemap_fdatawrite(bdev_mapping);
- filemap_fdatawait(bdev_mapping);
+ filemap_fdatawrite(sbi->direct_inode->i_mapping);
+ filemap_fdatawait(sbi->direct_inode->i_mapping);
/*
* ensure all file system file pages are propagated to their
if (log) { /* log = NULL if read-only mount */
updateSuper(sb, FM_CLEAN);
- /* Restore default gfp_mask for bdev */
- mapping_set_gfp_mask(bdev_mapping, GFP_USER);
-
/*
* close log:
*
int jfs_umount_rw(struct super_block *sb)
{
- struct address_space *bdev_mapping = sb->s_bdev->bd_inode->i_mapping;
struct jfs_sb_info *sbi = JFS_SBI(sb);
struct jfs_log *log = sbi->log;
* mark the superblock clean before everything is flushed to
* disk.
*/
- filemap_fdatawrite(bdev_mapping);
- filemap_fdatawait(bdev_mapping);
+ filemap_fdatawrite(sbi->direct_inode->i_mapping);
+ filemap_fdatawait(sbi->direct_inode->i_mapping);
updateSuper(sb, FM_CLEAN);
- /* Restore default gfp_mask for bdev */
- mapping_set_gfp_mask(bdev_mapping, GFP_USER);
-
return lmLogClose(sb);
}