libxfs_irele(ip);
}
-/*
- * mark realtime bitmap and summary inodes as reached.
- * quota inode will be marked here as well
- */
static void
-mark_standalone_inodes(xfs_mount_t *mp)
+mark_inode(
+ struct xfs_mount *mp,
+ xfs_ino_t ino)
{
- ino_tree_node_t *irec;
+ struct ino_tree_node *irec;
int offset;
- irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp, mp->m_sb.sb_rbmino),
- XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rbmino));
+ irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp, ino),
+ XFS_INO_TO_AGINO(mp, ino));
- offset = XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rbmino) -
- irec->ino_startnum;
+ offset = XFS_INO_TO_AGINO(mp, ino) - irec->ino_startnum;
add_inode_reached(irec, offset);
+}
- irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp, mp->m_sb.sb_rsumino),
- XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rsumino));
-
- offset = XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rsumino) -
- irec->ino_startnum;
+/*
+ * mark realtime bitmap and summary inodes as reached.
+ * quota inode will be marked here as well
+ */
+static void
+mark_standalone_inodes(xfs_mount_t *mp)
+{
+ mark_inode(mp, mp->m_sb.sb_rbmino);
+ mark_inode(mp, mp->m_sb.sb_rsumino);
- add_inode_reached(irec, offset);
+ if (!fs_quotas)
+ return;
- if (fs_quotas) {
- if (mp->m_sb.sb_uquotino
- && mp->m_sb.sb_uquotino != NULLFSINO) {
- irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp,
- mp->m_sb.sb_uquotino),
- XFS_INO_TO_AGINO(mp, mp->m_sb.sb_uquotino));
- offset = XFS_INO_TO_AGINO(mp, mp->m_sb.sb_uquotino)
- - irec->ino_startnum;
- add_inode_reached(irec, offset);
- }
- if (mp->m_sb.sb_gquotino
- && mp->m_sb.sb_gquotino != NULLFSINO) {
- irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp,
- mp->m_sb.sb_gquotino),
- XFS_INO_TO_AGINO(mp, mp->m_sb.sb_gquotino));
- offset = XFS_INO_TO_AGINO(mp, mp->m_sb.sb_gquotino)
- - irec->ino_startnum;
- add_inode_reached(irec, offset);
- }
- if (mp->m_sb.sb_pquotino
- && mp->m_sb.sb_pquotino != NULLFSINO) {
- irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp,
- mp->m_sb.sb_pquotino),
- XFS_INO_TO_AGINO(mp, mp->m_sb.sb_pquotino));
- offset = XFS_INO_TO_AGINO(mp, mp->m_sb.sb_pquotino)
- - irec->ino_startnum;
- add_inode_reached(irec, offset);
- }
- }
+ if (mp->m_sb.sb_uquotino && mp->m_sb.sb_uquotino != NULLFSINO)
+ mark_inode(mp, mp->m_sb.sb_uquotino);
+ if (mp->m_sb.sb_gquotino && mp->m_sb.sb_gquotino != NULLFSINO)
+ mark_inode(mp, mp->m_sb.sb_gquotino);
+ if (mp->m_sb.sb_pquotino && mp->m_sb.sb_pquotino != NULLFSINO)
+ mark_inode(mp, mp->m_sb.sb_pquotino);
}
static void