mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-11 04:50:23 -04:00
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: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
committed by
Carlos Maiolino
parent
6475ece803
commit
ea31bdece2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user