On 23 Feb 2021 at 09:04, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Move it to xfs_bio_io.c as we are about to add new async cache flush > functionality that uses bios directly, so all this stuff should be > in the same place. Rename the function to xfs_flush_bdev() to match > the xfs_rw_bdev() function that already exists in this file. > Looks good to me. Reviewed-by: Chandan Babu R <chandanrlinux@xxxxxxxxx> > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > --- > fs/xfs/xfs_bio_io.c | 8 ++++++++ > fs/xfs/xfs_buf.c | 2 +- > fs/xfs/xfs_file.c | 6 +++--- > fs/xfs/xfs_linux.h | 1 + > fs/xfs/xfs_log.c | 2 +- > fs/xfs/xfs_super.c | 7 ------- > fs/xfs/xfs_super.h | 1 - > 7 files changed, 14 insertions(+), 13 deletions(-) > > diff --git a/fs/xfs/xfs_bio_io.c b/fs/xfs/xfs_bio_io.c > index e2148f2d5d6b..5abf653a45d4 100644 > --- a/fs/xfs/xfs_bio_io.c > +++ b/fs/xfs/xfs_bio_io.c > @@ -59,3 +59,11 @@ xfs_rw_bdev( > invalidate_kernel_vmap_range(data, count); > return error; > } > + > +void > +xfs_flush_bdev( > + struct block_device *bdev) > +{ > + blkdev_issue_flush(bdev, GFP_NOFS); > +} > + > diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c > index f6e5235df7c9..b1d6c530c693 100644 > --- a/fs/xfs/xfs_buf.c > +++ b/fs/xfs/xfs_buf.c > @@ -1958,7 +1958,7 @@ xfs_free_buftarg( > percpu_counter_destroy(&btp->bt_io_count); > list_lru_destroy(&btp->bt_lru); > > - xfs_blkdev_issue_flush(btp); > + xfs_flush_bdev(btp->bt_bdev); > > kmem_free(btp); > } > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index 38528e59030e..dd33ef2d0e20 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -196,9 +196,9 @@ xfs_file_fsync( > * inode size in case of an extending write. > */ > if (XFS_IS_REALTIME_INODE(ip)) > - xfs_blkdev_issue_flush(mp->m_rtdev_targp); > + xfs_flush_bdev(mp->m_rtdev_targp->bt_bdev); > else if (mp->m_logdev_targp != mp->m_ddev_targp) > - xfs_blkdev_issue_flush(mp->m_ddev_targp); > + xfs_flush_bdev(mp->m_ddev_targp->bt_bdev); > > /* > * Any inode that has dirty modifications in the log is pinned. The > @@ -218,7 +218,7 @@ xfs_file_fsync( > */ > if (!log_flushed && !XFS_IS_REALTIME_INODE(ip) && > mp->m_logdev_targp == mp->m_ddev_targp) > - xfs_blkdev_issue_flush(mp->m_ddev_targp); > + xfs_flush_bdev(mp->m_ddev_targp->bt_bdev); > > return error; > } > diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h > index af6be9b9ccdf..e94a2aeefee8 100644 > --- a/fs/xfs/xfs_linux.h > +++ b/fs/xfs/xfs_linux.h > @@ -196,6 +196,7 @@ static inline uint64_t howmany_64(uint64_t x, uint32_t y) > > int xfs_rw_bdev(struct block_device *bdev, sector_t sector, unsigned int count, > char *data, unsigned int op); > +void xfs_flush_bdev(struct block_device *bdev); > > #define ASSERT_ALWAYS(expr) \ > (likely(expr) ? (void)0 : assfail(NULL, #expr, __FILE__, __LINE__)) > diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c > index ff26fb46d70f..493454c98c6f 100644 > --- a/fs/xfs/xfs_log.c > +++ b/fs/xfs/xfs_log.c > @@ -2015,7 +2015,7 @@ xlog_sync( > * layer state machine for preflushes. > */ > if (log->l_targ != log->l_mp->m_ddev_targp || split) { > - xfs_blkdev_issue_flush(log->l_mp->m_ddev_targp); > + xfs_flush_bdev(log->l_mp->m_ddev_targp->bt_bdev); > need_flush = false; > } > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index 21b1d034aca3..85dd9593b40b 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -339,13 +339,6 @@ xfs_blkdev_put( > blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL); > } > > -void > -xfs_blkdev_issue_flush( > - xfs_buftarg_t *buftarg) > -{ > - blkdev_issue_flush(buftarg->bt_bdev, GFP_NOFS); > -} > - > STATIC void > xfs_close_devices( > struct xfs_mount *mp) > diff --git a/fs/xfs/xfs_super.h b/fs/xfs/xfs_super.h > index 1ca484b8357f..79cb2dece811 100644 > --- a/fs/xfs/xfs_super.h > +++ b/fs/xfs/xfs_super.h > @@ -88,7 +88,6 @@ struct block_device; > > extern void xfs_quiesce_attr(struct xfs_mount *mp); > extern void xfs_flush_inodes(struct xfs_mount *mp); > -extern void xfs_blkdev_issue_flush(struct xfs_buftarg *); > extern xfs_agnumber_t xfs_set_inode_alloc(struct xfs_mount *, > xfs_agnumber_t agcount); -- chandan