mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
[XFS] add xfs_setup_devices helper
Split setting the block and sector size out of xfs_fs_fill_super into a small helper to make xfs_fs_fill_super more readable. SGI-PV: 981951 SGI-Modid: xfs-linux-melb:xfs-kern:31194a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
This commit is contained in:
parent
19f354d4c3
commit
e34b562c6b
@ -861,7 +861,41 @@ xfs_open_devices(
|
||||
return error;
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup xfs_mount buffer target pointers based on superblock
|
||||
*/
|
||||
STATIC int
|
||||
xfs_setup_devices(
|
||||
struct xfs_mount *mp)
|
||||
{
|
||||
int error;
|
||||
|
||||
error = xfs_setsize_buftarg(mp->m_ddev_targp, mp->m_sb.sb_blocksize,
|
||||
mp->m_sb.sb_sectsize);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp) {
|
||||
unsigned int log_sector_size = BBSIZE;
|
||||
|
||||
if (xfs_sb_version_hassector(&mp->m_sb))
|
||||
log_sector_size = mp->m_sb.sb_logsectsize;
|
||||
error = xfs_setsize_buftarg(mp->m_logdev_targp,
|
||||
mp->m_sb.sb_blocksize,
|
||||
log_sector_size);
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
if (mp->m_rtdev_targp) {
|
||||
error = xfs_setsize_buftarg(mp->m_rtdev_targp,
|
||||
mp->m_sb.sb_blocksize,
|
||||
mp->m_sb.sb_sectsize);
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* XFS AIL push thread support
|
||||
@ -1742,31 +1776,9 @@ xfs_fs_fill_super(
|
||||
if (error)
|
||||
goto error2;
|
||||
|
||||
/*
|
||||
* Setup xfs_mount buffer target pointers based on superblock
|
||||
*/
|
||||
error = xfs_setsize_buftarg(mp->m_ddev_targp, mp->m_sb.sb_blocksize,
|
||||
mp->m_sb.sb_sectsize);
|
||||
error = xfs_setup_devices(mp);
|
||||
if (error)
|
||||
goto error2;
|
||||
if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp) {
|
||||
unsigned int log_sector_size = BBSIZE;
|
||||
|
||||
if (xfs_sb_version_hassector(&mp->m_sb))
|
||||
log_sector_size = mp->m_sb.sb_logsectsize;
|
||||
error = xfs_setsize_buftarg(mp->m_logdev_targp,
|
||||
mp->m_sb.sb_blocksize,
|
||||
log_sector_size);
|
||||
if (error)
|
||||
goto error2;
|
||||
}
|
||||
if (mp->m_rtdev_targp) {
|
||||
error = xfs_setsize_buftarg(mp->m_rtdev_targp,
|
||||
mp->m_sb.sb_blocksize,
|
||||
mp->m_sb.sb_sectsize);
|
||||
if (error)
|
||||
goto error2;
|
||||
}
|
||||
|
||||
if (mp->m_flags & XFS_MOUNT_BARRIER)
|
||||
xfs_mountfs_check_barriers(mp);
|
||||
|
Loading…
Reference in New Issue
Block a user