aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fat
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2009-06-08 04:04:35 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2009-06-11 21:36:15 -0400
commitf83d6d46e7adf241a064a4a425e5cd8a8fd8925f (patch)
tree3ebefc6dc784ec0156fd3a074b694630b5a88d88 /fs/fat
parent40f31dd47e7c3d15af1f9845eda0fa0c4c33f32f (diff)
fat: add ->sync_fs
Add a ->sync_fs method for data integrity syncs. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/fat')
-rw-r--r--fs/fat/inode.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 476f80b175fe..51a5ecf9000a 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -449,6 +449,16 @@ static void fat_write_super(struct super_block *sb)
449 unlock_super(sb); 449 unlock_super(sb);
450} 450}
451 451
452static int fat_sync_fs(struct super_block *sb, int wait)
453{
454 lock_super(sb);
455 fat_clusters_flush(sb);
456 sb->s_dirt = 0;
457 unlock_super(sb);
458
459 return 0;
460}
461
452static void fat_put_super(struct super_block *sb) 462static void fat_put_super(struct super_block *sb)
453{ 463{
454 struct msdos_sb_info *sbi = MSDOS_SB(sb); 464 struct msdos_sb_info *sbi = MSDOS_SB(sb);
@@ -643,6 +653,7 @@ static const struct super_operations fat_sops = {
643 .delete_inode = fat_delete_inode, 653 .delete_inode = fat_delete_inode,
644 .put_super = fat_put_super, 654 .put_super = fat_put_super,
645 .write_super = fat_write_super, 655 .write_super = fat_write_super,
656 .sync_fs = fat_sync_fs,
646 .statfs = fat_statfs, 657 .statfs = fat_statfs,
647 .clear_inode = fat_clear_inode, 658 .clear_inode = fat_clear_inode,
648 .remount_fs = fat_remount, 659 .remount_fs = fat_remount,