xfs: require both realtime inodes to mount
Since mkfs always formats the filesystem with the realtime bitmap and summary inodes immediately after the root directory, we should expect that both of them are present and loadable, even if there isn't a realtime volume attached. There's no reason to skip this if rbmino == NULLFSINO; in fact, this causes an immediate crash if the there /is/ a realtime volume and someone writes to it. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Bill O'Donnell <billodo@redhat.com>
This commit is contained in:
parent
355e353213
commit
64bafd2f1e
@ -1206,13 +1206,11 @@ xfs_rtmount_inodes(
|
|||||||
xfs_sb_t *sbp;
|
xfs_sb_t *sbp;
|
||||||
|
|
||||||
sbp = &mp->m_sb;
|
sbp = &mp->m_sb;
|
||||||
if (sbp->sb_rbmino == NULLFSINO)
|
|
||||||
return 0;
|
|
||||||
error = xfs_iget(mp, NULL, sbp->sb_rbmino, 0, 0, &mp->m_rbmip);
|
error = xfs_iget(mp, NULL, sbp->sb_rbmino, 0, 0, &mp->m_rbmip);
|
||||||
if (error)
|
if (error)
|
||||||
return error;
|
return error;
|
||||||
ASSERT(mp->m_rbmip != NULL);
|
ASSERT(mp->m_rbmip != NULL);
|
||||||
ASSERT(sbp->sb_rsumino != NULLFSINO);
|
|
||||||
error = xfs_iget(mp, NULL, sbp->sb_rsumino, 0, 0, &mp->m_rsumip);
|
error = xfs_iget(mp, NULL, sbp->sb_rsumino, 0, 0, &mp->m_rsumip);
|
||||||
if (error) {
|
if (error) {
|
||||||
xfs_irele(mp->m_rbmip);
|
xfs_irele(mp->m_rbmip);
|
||||||
|
Loading…
Reference in New Issue
Block a user