add xfs_setup_devices helper
PATCH 5/10 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.
Signed-off-by Christoph Hellwig <[email protected]>
fs/xfs/linux-2.6/xfs_super.c +35 -23
@@ -860,7 +860,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
@@ -1743,31 +1777,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);