block: remove __sync_blockdev block-cleanups
authorChristoph Hellwig <hch@lst.de>
Mon, 31 May 2021 12:23:48 +0000 (15:23 +0300)
committerChristoph Hellwig <hch@lst.de>
Wed, 2 Jun 2021 06:58:41 +0000 (09:58 +0300)
Instead provide a sync_blockdev_nowait helper for sync_filesystem.

Signed-off-by: Christoph Hellwig <hch@lst.de>
fs/block_dev.c
fs/internal.h
fs/sync.c

index 61d280020aa08009bbaa6107de372cc8c9192895..cf898bb2108265279ca6a9c316dac5945d94f9f3 100644 (file)
@@ -517,13 +517,11 @@ static __init int blkdev_init(void)
 }
 module_init(blkdev_init);
 
-int __sync_blockdev(struct block_device *bdev, int wait)
+int sync_blockdev_nowait(struct block_device *bdev)
 {
        if (!bdev)
                return 0;
-       if (!wait)
-               return filemap_flush(bdev->bd_inode->i_mapping);
-       return filemap_write_and_wait(bdev->bd_inode->i_mapping);
+       return filemap_flush(bdev->bd_inode->i_mapping);
 }
 
 /*
@@ -532,7 +530,9 @@ int __sync_blockdev(struct block_device *bdev, int wait)
  */
 int sync_blockdev(struct block_device *bdev)
 {
-       return __sync_blockdev(bdev, 1);
+       if (!bdev)
+               return 0;
+       return filemap_write_and_wait(bdev->bd_inode->i_mapping);
 }
 EXPORT_SYMBOL(sync_blockdev);
 
index 0047d70eae6bc9d95d8da7782d013b0926244b14..028a2ed0b2b364eaf9c8976994333c043ef77c8b 100644 (file)
@@ -23,15 +23,14 @@ struct pipe_inode_info;
 #ifdef CONFIG_BLOCK
 extern void __init bdev_cache_init(void);
 
-extern int __sync_blockdev(struct block_device *bdev, int wait);
+int sync_blockdev_nowait(struct block_device *bdev);
 void iterate_bdevs(void (*)(struct block_device *, void *), void *);
 void emergency_thaw_bdev(struct super_block *sb);
 #else
 static inline void bdev_cache_init(void)
 {
 }
-
-static inline int __sync_blockdev(struct block_device *bdev, int wait)
+static inline int sync_blockdev_nowait(struct block_device *bdev)
 {
        return 0;
 }
index a3b7108991c63039a49f3511c8900569367d35e8..fb15314ec97cd0b6d1d7dd3816efe45a5231d69e 100644 (file)
--- a/fs/sync.c
+++ b/fs/sync.c
@@ -45,21 +45,21 @@ int sync_filesystem(struct super_block *sb)
        /*
         * For simple filesystems writeback_inodes_sb(sb) just dirties buffers
         * with inodes so we have to submit IO for these buffers via
-        * __sync_blockdev().  This also speeds up the wait == 1 case since in
-        * that case write_inode() functions do sync_dirty_buffer() and thus
+        * sync_blockdev_nowait().  This also speeds up the wait == 1 case since
+        * in that case write_inode() functions do sync_dirty_buffer() and thus
         * effectively write one block at a time.
         */
        writeback_inodes_sb(sb, WB_REASON_SYNC);
        if (sb->s_op->sync_fs)
                sb->s_op->sync_fs(sb, 0);
-       ret = __sync_blockdev(sb->s_bdev, 0);
+       ret = sync_blockdev_nowait(sb->s_bdev);
        if (ret < 0)
                return ret;
 
        sync_inodes_sb(sb);
        if (sb->s_op->sync_fs)
                sb->s_op->sync_fs(sb, 1);
-       return __sync_blockdev(sb->s_bdev, 1);
+       return sync_blockdev(sb->s_bdev);
 }
 EXPORT_SYMBOL(sync_filesystem);