Commit 5088aad3 authored by Darrick J. Wong's avatar Darrick J. Wong Committed by Carlos Maiolino
Browse files

xfs: stop using set_blocksize



XFS has its own buffer cache for metadata that uses submit_bio, which
means that it no longer uses the block device pagecache for anything.
Create a more lightweight helper that runs the blocksize checks and
flushes dirty data and use that instead.  No more truncating the
pagecache because XFS does not use it or care about it.

Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarCarlos Maiolino <cem@kernel.org>
parent d0d7f181
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -1719,18 +1719,25 @@ xfs_setsize_buftarg(
	struct xfs_buftarg	*btp,
	unsigned int		sectorsize)
{
	int			error;

	/* Set up metadata sector size info */
	btp->bt_meta_sectorsize = sectorsize;
	btp->bt_meta_sectormask = sectorsize - 1;

	if (set_blocksize(btp->bt_bdev_file, sectorsize)) {
	error = bdev_validate_blocksize(btp->bt_bdev, sectorsize);
	if (error) {
		xfs_warn(btp->bt_mount,
			"Cannot set_blocksize to %u on device %pg",
			sectorsize, btp->bt_bdev);
			"Cannot use blocksize %u on device %pg, err %d",
			sectorsize, btp->bt_bdev, error);
		return -EINVAL;
	}

	return 0;
	/*
	 * Flush the block device pagecache so our bios see anything dirtied
	 * before mount.
	 */
	return sync_blockdev(btp->bt_bdev);
}

int