diff options
author | Christoph Hellwig <hch@lst.de> | 2009-06-08 10:04:35 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-11 21:36:15 -0400 |
commit | f83d6d46e7adf241a064a4a425e5cd8a8fd8925f (patch) | |
tree | 3ebefc6dc784ec0156fd3a074b694630b5a88d88 /fs/fat | |
parent | 40f31dd47e7c3d15af1f9845eda0fa0c4c33f32f (diff) | |
download | kernel-mfld-blackbay-f83d6d46e7adf241a064a4a425e5cd8a8fd8925f.tar.gz kernel-mfld-blackbay-f83d6d46e7adf241a064a4a425e5cd8a8fd8925f.tar.bz2 kernel-mfld-blackbay-f83d6d46e7adf241a064a4a425e5cd8a8fd8925f.zip |
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.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 476f80b175f..51a5ecf9000 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c @@ -449,6 +449,16 @@ static void fat_write_super(struct super_block *sb) unlock_super(sb); } +static int fat_sync_fs(struct super_block *sb, int wait) +{ + lock_super(sb); + fat_clusters_flush(sb); + sb->s_dirt = 0; + unlock_super(sb); + + return 0; +} + static void fat_put_super(struct super_block *sb) { struct msdos_sb_info *sbi = MSDOS_SB(sb); @@ -643,6 +653,7 @@ static const struct super_operations fat_sops = { .delete_inode = fat_delete_inode, .put_super = fat_put_super, .write_super = fat_write_super, + .sync_fs = fat_sync_fs, .statfs = fat_statfs, .clear_inode = fat_clear_inode, .remount_fs = fat_remount, |