filemap_fdatawrite(bdev_mapping); filemap_fdatawait(bdev_mapping); 
filemap_fdatawrite(sbi->direct_inode->i_mapping); filemap_fdatawait(sbi->direct_inode->i_mapping); 
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;	if (!log)		return 0;	/*	 * close log: 	 *	 * remove file system from log active file system list.	 */	jfs_flush_journal(log, 2);	/*	 * Make sure all metadata makes it to disk	 */	dbSync(sbi->ipbmap);	diSync(sbi->ipimap);	/*	 * Note that we have to do this even if sync_blockdev() will	 * do exactly the same a few instructions later:  We can't	 * mark the superblock clean before everything is flushed to	 * disk.	 */	filemap_fdatawrite(bdev_mapping);	filemap_fdatawait(bdev_mapping);	updateSuper(sb, FM_CLEAN);	/* Restore default gfp_mask for bdev */	mapping_set_gfp_mask(bdev_mapping, GFP_USER);	return lmLogClose(sb);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/7fab479bebb96b1b4888bdae9b42e1fa9c5d3f38/jfs_umount.c/buggy/fs/jfs/jfs_umount.c