summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2009-04-27 16:43:50 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2009-06-12 03:36:03 +0200
commit429479f031322a0cc5c921ffb2321a51718dc875 (patch)
tree6741f7f1bfa1d889bbc4f44ab0489de97a3e47c0
parentvfs: Call ->sync_fs() even if s_dirt is 0 (version 4) (diff)
downloadlinux-429479f031322a0cc5c921ffb2321a51718dc875.tar.xz
linux-429479f031322a0cc5c921ffb2321a51718dc875.zip
vfs: Make __fsync_super() a static function (version 4)
__fsync_super() does the same thing as fsync_super(). So change the only caller to use fsync_super() and make __fsync_super() static. This removes unnecessarily duplicated call to sync_blockdev() and prepares ground for the changes to __fsync_super() in the following patches. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/block_dev.c2
-rw-r--r--fs/super.c7
-rw-r--r--include/linux/fs.h1
3 files changed, 4 insertions, 6 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 931f6b8c4b2f..fe47f7227618 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -241,7 +241,7 @@ struct super_block *freeze_bdev(struct block_device *bdev)
sb->s_frozen = SB_FREEZE_WRITE;
smp_wmb();
- __fsync_super(sb);
+ fsync_super(sb);
sb->s_frozen = SB_FREEZE_TRANS;
smp_wmb();
diff --git a/fs/super.c b/fs/super.c
index fae91ba38e48..8dbe1ead9ddd 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -289,7 +289,7 @@ EXPORT_SYMBOL(unlock_super);
* device. Takes the superblock lock. Requires a second blkdev
* flush by the caller to complete the operation.
*/
-void __fsync_super(struct super_block *sb)
+static int __fsync_super(struct super_block *sb)
{
sync_inodes_sb(sb, 0);
vfs_dq_sync(sb);
@@ -300,7 +300,7 @@ void __fsync_super(struct super_block *sb)
unlock_super(sb);
if (sb->s_op->sync_fs)
sb->s_op->sync_fs(sb, 1);
- sync_blockdev(sb->s_bdev);
+ return sync_blockdev(sb->s_bdev);
}
/*
@@ -310,8 +310,7 @@ void __fsync_super(struct super_block *sb)
*/
int fsync_super(struct super_block *sb)
{
- __fsync_super(sb);
- return sync_blockdev(sb->s_bdev);
+ return __fsync_super(sb);
}
EXPORT_SYMBOL_GPL(fsync_super);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 36bcff7036ef..41a9907f342e 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2078,7 +2078,6 @@ extern int filemap_fdatawrite_range(struct address_space *mapping,
extern int vfs_fsync(struct file *file, struct dentry *dentry, int datasync);
extern void sync_supers(void);
extern void sync_filesystems(int wait);
-extern void __fsync_super(struct super_block *sb);
extern void emergency_sync(void);
extern void emergency_remount(void);
extern int do_remount_sb(struct super_block *sb, int flags,