diff --git a/fs/hpfs/file.c b/fs/hpfs/file.c
index 09a642f853e1c6ce4e7ede587ebb8fb5046eddad..89c500ee521382c2250c0a818a3c18c773025ac8 100644
--- a/fs/hpfs/file.c
+++ b/fs/hpfs/file.c
@@ -20,8 +20,8 @@ static int hpfs_file_release(struct inode *inode, struct file *file)
 
 int hpfs_file_fsync(struct file *file, int datasync)
 {
-	/*return file_fsync(file, datasync);*/
-	return 0; /* Don't fsync :-) */
+	struct inode *inode = file->f_mapping->host;
+	return sync_blockdev(inode->i_sb->s_bdev);
 }
 
 /*