aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/block_dev.c2
-rw-r--r--fs/super.c7
2 files changed, 4 insertions, 5 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)
241 sb->s_frozen = SB_FREEZE_WRITE; 241 sb->s_frozen = SB_FREEZE_WRITE;
242 smp_wmb(); 242 smp_wmb();
243 243
244 __fsync_super(sb); 244 fsync_super(sb);
245 245
246 sb->s_frozen = SB_FREEZE_TRANS; 246 sb->s_frozen = SB_FREEZE_TRANS;
247 smp_wmb(); 247 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);
289 * device. Takes the superblock lock. Requires a second blkdev 289 * device. Takes the superblock lock. Requires a second blkdev
290 * flush by the caller to complete the operation. 290 * flush by the caller to complete the operation.
291 */ 291 */
292void __fsync_super(struct super_block *sb) 292static int __fsync_super(struct super_block *sb)
293{ 293{
294 sync_inodes_sb(sb, 0); 294 sync_inodes_sb(sb, 0);
295 vfs_dq_sync(sb); 295 vfs_dq_sync(sb);
@@ -300,7 +300,7 @@ void __fsync_super(struct super_block *sb)
300 unlock_super(sb); 300 unlock_super(sb);
301 if (sb->s_op->sync_fs) 301 if (sb->s_op->sync_fs)
302 sb->s_op->sync_fs(sb, 1); 302 sb->s_op->sync_fs(sb, 1);
303 sync_blockdev(sb->s_bdev); 303 return sync_blockdev(sb->s_bdev);
304} 304}
305 305
306/* 306/*
@@ -310,8 +310,7 @@ void __fsync_super(struct super_block *sb)
310 */ 310 */
311int fsync_super(struct super_block *sb) 311int fsync_super(struct super_block *sb)
312{ 312{
313 __fsync_super(sb); 313 return __fsync_super(sb);
314 return sync_blockdev(sb->s_bdev);
315} 314}
316EXPORT_SYMBOL_GPL(fsync_super); 315EXPORT_SYMBOL_GPL(fsync_super);
317 316