/* filemap_flush is used for the block device, so if there is a dirty page for a block already in flight, we will not wait and start the io over again  */
int fat_flush_inodes(struct super_block *sb, struct inode *i1, struct inode *i2)
/* filemap_flush is used for the block device, so if there is a dirty page for a block already in flight, we will not wait and start the io over again  */
int fat_flush_inodes(struct super_block *sb, struct inode *i1, struct inode *i2)
{
	int ret = 0;
	if (!MSDOS_SB(sb)->options.flush)
		return 0;
	if (i1)
		ret = writeback_inode(i1);
	if (!ret && i2)
		ret = writeback_inode(i2);
	if (!ret) {
		struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
		ret = filemap_flush(mapping);
	}
	return ret;
}