Re: [RFC v4 linux-next 02/19] block: remove sync_blockdev_nowait()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 22-02-24 20:45:38, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@xxxxxxxxxx>
> 
> Now that all filesystems stash the bdev file, it's ok to flush the file
> mapping directly.
> 
> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

								Honza

> ---
>  block/bdev.c           | 8 --------
>  fs/fat/inode.c         | 2 +-
>  fs/ntfs3/inode.c       | 2 +-
>  fs/sync.c              | 9 ++++++---
>  include/linux/blkdev.h | 5 -----
>  5 files changed, 8 insertions(+), 18 deletions(-)
> 
> diff --git a/block/bdev.c b/block/bdev.c
> index 726a2805a1ce..49dcff483289 100644
> --- a/block/bdev.c
> +++ b/block/bdev.c
> @@ -188,14 +188,6 @@ int sb_min_blocksize(struct super_block *sb, int size)
>  
>  EXPORT_SYMBOL(sb_min_blocksize);
>  
> -int sync_blockdev_nowait(struct block_device *bdev)
> -{
> -	if (!bdev)
> -		return 0;
> -	return filemap_flush(bdev->bd_inode->i_mapping);
> -}
> -EXPORT_SYMBOL_GPL(sync_blockdev_nowait);
> -
>  /*
>   * Write out and wait upon all the dirty data associated with a block
>   * device via its mapping.  Does not take the superblock lock.
> diff --git a/fs/fat/inode.c b/fs/fat/inode.c
> index 5c813696d1ff..8527aef51841 100644
> --- a/fs/fat/inode.c
> +++ b/fs/fat/inode.c
> @@ -1945,7 +1945,7 @@ int fat_flush_inodes(struct super_block *sb, struct inode *i1, struct inode *i2)
>  	if (!ret && i2)
>  		ret = writeback_inode(i2);
>  	if (!ret)
> -		ret = sync_blockdev_nowait(sb->s_bdev);
> +		ret = filemap_flush(sb->s_bdev_file->f_mapping);
>  	return ret;
>  }
>  EXPORT_SYMBOL_GPL(fat_flush_inodes);
> diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
> index eb7a8c9fba01..3c4c878f6d77 100644
> --- a/fs/ntfs3/inode.c
> +++ b/fs/ntfs3/inode.c
> @@ -1081,7 +1081,7 @@ int ntfs_flush_inodes(struct super_block *sb, struct inode *i1,
>  	if (!ret && i2)
>  		ret = writeback_inode(i2);
>  	if (!ret)
> -		ret = sync_blockdev_nowait(sb->s_bdev);
> +		ret = filemap_flush(sb->s_bdev_file->f_mapping);
>  	return ret;
>  }
>  
> diff --git a/fs/sync.c b/fs/sync.c
> index dc725914e1ed..3a43062790d9 100644
> --- a/fs/sync.c
> +++ b/fs/sync.c
> @@ -57,9 +57,12 @@ int sync_filesystem(struct super_block *sb)
>  		if (ret)
>  			return ret;
>  	}
> -	ret = sync_blockdev_nowait(sb->s_bdev);
> -	if (ret)
> -		return ret;
> +
> +	if (sb->s_bdev_file) {
> +		ret = filemap_flush(sb->s_bdev_file->f_mapping);
> +		if (ret)
> +			return ret;
> +	}
>  
>  	sync_inodes_sb(sb);
>  	if (sb->s_op->sync_fs) {
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index eb1f6eeaddc5..9e96811c8915 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -1528,7 +1528,6 @@ unsigned int block_size(struct block_device *bdev);
>  void invalidate_bdev(struct block_device *bdev);
>  int sync_blockdev(struct block_device *bdev);
>  int sync_blockdev_range(struct block_device *bdev, loff_t lstart, loff_t lend);
> -int sync_blockdev_nowait(struct block_device *bdev);
>  void sync_bdevs(bool wait);
>  void bdev_statx_dioalign(struct inode *inode, struct kstat *stat);
>  void printk_all_partitions(void);
> @@ -1541,10 +1540,6 @@ static inline int sync_blockdev(struct block_device *bdev)
>  {
>  	return 0;
>  }
> -static inline int sync_blockdev_nowait(struct block_device *bdev)
> -{
> -	return 0;
> -}
>  static inline void sync_bdevs(bool wait)
>  {
>  }
> -- 
> 2.39.2
> 
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux