Lines Matching refs:mp

76 	struct xfs_mount		*mp,  in xfs_inobt_btrec_to_irec()  argument
81 if (xfs_has_sparseinodes(mp)) { in xfs_inobt_btrec_to_irec()
107 struct xfs_mount *mp = cur->bc_mp; in xfs_inobt_get_rec() local
117 xfs_inobt_btrec_to_irec(mp, rec, irec); in xfs_inobt_get_rec()
119 if (!xfs_verify_agino(mp, agno, irec->ir_startino)) in xfs_inobt_get_rec()
138 xfs_warn(mp, in xfs_inobt_get_rec()
141 xfs_warn(mp, in xfs_inobt_get_rec()
172 struct xfs_mount *mp, in xfs_inobt_insert() argument
185 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, btnum); in xfs_inobt_insert()
261 struct xfs_mount *mp, in xfs_ialloc_inode_init() argument
284 nbufs = length / M_IGEO(mp)->blocks_per_cluster; in xfs_ialloc_inode_init()
305 if (xfs_has_v3inodes(mp)) { in xfs_ialloc_inode_init()
307 ino = XFS_AGINO_TO_INO(mp, agno, XFS_AGB_TO_AGINO(mp, agbno)); in xfs_ialloc_inode_init()
319 mp->m_sb.sb_inodesize, length, gen); in xfs_ialloc_inode_init()
327 d = XFS_AGB_TO_DADDR(mp, agno, agbno + in xfs_ialloc_inode_init()
328 (j * M_IGEO(mp)->blocks_per_cluster)); in xfs_ialloc_inode_init()
329 error = xfs_trans_get_buf(tp, mp->m_ddev_targp, d, in xfs_ialloc_inode_init()
330 mp->m_bsize * M_IGEO(mp)->blocks_per_cluster, in xfs_ialloc_inode_init()
338 for (i = 0; i < M_IGEO(mp)->inodes_per_cluster; i++) { in xfs_ialloc_inode_init()
339 int ioffset = i << mp->m_sb.sb_inodelog; in xfs_ialloc_inode_init()
341 free = xfs_make_iptr(mp, fbuf, i); in xfs_ialloc_inode_init()
351 &mp->m_sb.sb_meta_uuid); in xfs_ialloc_inode_init()
352 xfs_dinode_calc_crc(mp, free); in xfs_ialloc_inode_init()
356 ioffset + XFS_DINODE_SIZE(mp) - 1); in xfs_ialloc_inode_init()
413 struct xfs_mount *mp, in xfs_align_sparse_ino() argument
421 agbno = XFS_AGINO_TO_AGBNO(mp, *startino); in xfs_align_sparse_ino()
422 mod = agbno % mp->m_sb.sb_inoalignmt; in xfs_align_sparse_ino()
427 offset = XFS_AGB_TO_AGINO(mp, mod); in xfs_align_sparse_ino()
517 struct xfs_mount *mp, in xfs_inobt_insert_sprec() argument
530 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, btnum); in xfs_inobt_insert_sprec()
543 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_inobt_insert_sprec()
559 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_inobt_insert_sprec()
563 if (XFS_IS_CORRUPT(mp, rec.ir_startino != nrec->ir_startino)) { in xfs_inobt_insert_sprec()
572 if (XFS_IS_CORRUPT(mp, !__xfs_inobt_can_merge(nrec, &rec))) { in xfs_inobt_insert_sprec()
577 trace_xfs_irec_merge_pre(mp, pag->pag_agno, rec.ir_startino, in xfs_inobt_insert_sprec()
584 trace_xfs_irec_merge_post(mp, pag->pag_agno, nrec->ir_startino, in xfs_inobt_insert_sprec()
587 error = xfs_inobt_rec_check_count(mp, nrec); in xfs_inobt_insert_sprec()
631 args.mp = tp->t_mountp; in xfs_ialloc_ag_alloc()
648 percpu_counter_read_positive(&args.mp->m_icount) + newlen > in xfs_ialloc_ag_alloc()
659 args.agbno = XFS_AGINO_TO_AGBNO(args.mp, newino) + in xfs_ialloc_ag_alloc()
665 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
714 ASSERT(!xfs_has_noalign(args.mp)); in xfs_ialloc_ag_alloc()
715 args.alignment = args.mp->m_dalign; in xfs_ialloc_ag_alloc()
725 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
746 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
756 if (xfs_has_sparseinodes(args.mp) && in xfs_ialloc_ag_alloc()
762 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
763 args.alignment = args.mp->m_sb.sb_spino_align; in xfs_ialloc_ag_alloc()
779 args.min_agbno = args.mp->m_sb.sb_inoalignmt; in xfs_ialloc_ag_alloc()
780 args.max_agbno = round_down(args.mp->m_sb.sb_agblocks, in xfs_ialloc_ag_alloc()
781 args.mp->m_sb.sb_inoalignmt) - in xfs_ialloc_ag_alloc()
788 newlen = XFS_AGB_TO_AGINO(args.mp, args.len); in xfs_ialloc_ag_alloc()
807 error = xfs_ialloc_inode_init(args.mp, tp, NULL, newlen, pag->pag_agno, in xfs_ialloc_ag_alloc()
815 newino = XFS_AGB_TO_AGINO(args.mp, args.agbno); in xfs_ialloc_ag_alloc()
821 xfs_align_sparse_ino(args.mp, &newino, &allocmask); in xfs_ialloc_ag_alloc()
834 error = xfs_inobt_insert_sprec(args.mp, tp, agbp, pag, in xfs_ialloc_ag_alloc()
837 xfs_alert(args.mp, in xfs_ialloc_ag_alloc()
839 XFS_AGINO_TO_INO(args.mp, pag->pag_agno, in xfs_ialloc_ag_alloc()
842 xfs_force_shutdown(args.mp, SHUTDOWN_CORRUPT_INCORE); in xfs_ialloc_ag_alloc()
858 if (xfs_has_finobt(args.mp)) { in xfs_ialloc_ag_alloc()
859 error = xfs_inobt_insert_sprec(args.mp, tp, agbp, pag, in xfs_ialloc_ag_alloc()
866 error = xfs_inobt_insert(args.mp, tp, agbp, pag, newino, newlen, in xfs_ialloc_ag_alloc()
871 if (xfs_has_finobt(args.mp)) { in xfs_ialloc_ag_alloc()
872 error = xfs_inobt_insert(args.mp, tp, agbp, pag, newino, in xfs_ialloc_ag_alloc()
990 struct xfs_mount *mp = tp->t_mountp; in xfs_dialloc_ag_inobt() local
992 xfs_agnumber_t pagno = XFS_INO_TO_AGNO(mp, parent); in xfs_dialloc_ag_inobt()
993 xfs_agino_t pagino = XFS_INO_TO_AGINO(mp, parent); in xfs_dialloc_ag_inobt()
1007 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_dialloc_ag_inobt()
1029 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_dialloc_ag_inobt()
1037 if (XFS_IS_CORRUPT(mp, j != 1)) { in xfs_dialloc_ag_inobt()
1195 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_dialloc_ag_inobt()
1204 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_dialloc_ag_inobt()
1213 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_dialloc_ag_inobt()
1223 ASSERT((XFS_AGINO_TO_OFFSET(mp, rec.ir_startino) % in xfs_dialloc_ag_inobt()
1225 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset); in xfs_dialloc_ag_inobt()
1438 struct xfs_mount *mp = tp->t_mountp; in xfs_dialloc_ag() local
1440 xfs_agnumber_t pagno = XFS_INO_TO_AGNO(mp, parent); in xfs_dialloc_ag()
1441 xfs_agino_t pagino = XFS_INO_TO_AGINO(mp, parent); in xfs_dialloc_ag()
1450 if (!xfs_has_finobt(mp)) in xfs_dialloc_ag()
1460 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_FINO); in xfs_dialloc_ag()
1481 ASSERT((XFS_AGINO_TO_OFFSET(mp, rec.ir_startino) % in xfs_dialloc_ag()
1483 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset); in xfs_dialloc_ag()
1503 icur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_dialloc_ag()
1582 xfs_mount_t *mp) in xfs_ialloc_next_ag() argument
1586 spin_lock(&mp->m_agirotor_lock); in xfs_ialloc_next_ag()
1587 agno = mp->m_agirotor; in xfs_ialloc_next_ag()
1588 if (++mp->m_agirotor >= mp->m_maxagi) in xfs_ialloc_next_ag()
1589 mp->m_agirotor = 0; in xfs_ialloc_next_ag()
1590 spin_unlock(&mp->m_agirotor_lock); in xfs_ialloc_next_ag()
1603 struct xfs_mount *mp = tp->t_mountp; in xfs_dialloc_good_ag() local
1613 error = xfs_ialloc_pagi_init(mp, tp, pag->pag_agno); in xfs_dialloc_good_ag()
1624 error = xfs_alloc_pagf_init(mp, tp, pag->pag_agno, flags); in xfs_dialloc_good_ag()
1653 ineed = M_IGEO(mp)->ialloc_min_blks; in xfs_dialloc_good_ag()
1655 ineed += M_IGEO(mp)->cluster_align; in xfs_dialloc_good_ag()
1733 struct xfs_mount *mp = (*tpp)->t_mountp; in xfs_dialloc() local
1738 struct xfs_ino_geometry *igeo = M_IGEO(mp); in xfs_dialloc()
1749 start_agno = xfs_ialloc_next_ag(mp); in xfs_dialloc()
1751 start_agno = XFS_INO_TO_AGNO(mp, parent); in xfs_dialloc()
1752 if (start_agno >= mp->m_maxagi) in xfs_dialloc()
1765 percpu_counter_read_positive(&mp->m_icount) + igeo->ialloc_inos in xfs_dialloc()
1778 pag = xfs_perag_get(mp, agno); in xfs_dialloc()
1786 if (xfs_is_shutdown(mp)) { in xfs_dialloc()
1790 if (++agno == mp->m_maxagi) in xfs_dialloc()
1819 struct xfs_mount *mp = tp->t_mountp; in xfs_difree_inode_chunk() local
1820 xfs_agblock_t sagbno = XFS_AGINO_TO_AGBNO(mp, in xfs_difree_inode_chunk()
1830 xfs_free_extent_later(tp, XFS_AGB_TO_FSB(mp, agno, sagbno), in xfs_difree_inode_chunk()
1831 M_IGEO(mp)->ialloc_blks, in xfs_difree_inode_chunk()
1868 mp->m_sb.sb_inopblock; in xfs_difree_inode_chunk()
1871 mp->m_sb.sb_inopblock; in xfs_difree_inode_chunk()
1873 ASSERT(agbno % mp->m_sb.sb_spino_align == 0); in xfs_difree_inode_chunk()
1874 ASSERT(contigblk % mp->m_sb.sb_spino_align == 0); in xfs_difree_inode_chunk()
1875 xfs_free_extent_later(tp, XFS_AGB_TO_FSB(mp, agno, agbno), in xfs_difree_inode_chunk()
1888 struct xfs_mount *mp, in xfs_difree_inobt() argument
1905 ASSERT(XFS_AGINO_TO_AGBNO(mp, agino) < be32_to_cpu(agi->agi_length)); in xfs_difree_inobt()
1910 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_difree_inobt()
1920 xfs_warn(mp, "%s: xfs_inobt_lookup() returned error %d.", in xfs_difree_inobt()
1924 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_difree_inobt()
1930 xfs_warn(mp, "%s: xfs_inobt_get_rec() returned error %d.", in xfs_difree_inobt()
1934 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_difree_inobt()
1955 if (!xfs_has_ikeep(mp) && rec.ir_free == XFS_INOBT_ALL_FREE && in xfs_difree_inobt()
1956 mp->m_sb.sb_inopblock <= XFS_INODES_PER_CHUNK) { in xfs_difree_inobt()
1960 xic->first_ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, in xfs_difree_inobt()
1979 xfs_warn(mp, "%s: xfs_btree_delete returned error %d.", in xfs_difree_inobt()
1990 xfs_warn(mp, "%s: xfs_inobt_update returned error %d.", in xfs_difree_inobt()
2022 struct xfs_mount *mp, in xfs_difree_finobt() argument
2035 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_FINO); in xfs_difree_finobt()
2046 if (XFS_IS_CORRUPT(mp, ibtrec->ir_freecount != 1)) { in xfs_difree_finobt()
2072 if (XFS_IS_CORRUPT(mp, i != 1)) { in xfs_difree_finobt()
2080 if (XFS_IS_CORRUPT(mp, in xfs_difree_finobt()
2099 if (!xfs_has_ikeep(mp) && rec.ir_free == XFS_INOBT_ALL_FREE && in xfs_difree_finobt()
2100 mp->m_sb.sb_inopblock <= XFS_INODES_PER_CHUNK) { in xfs_difree_finobt()
2142 struct xfs_mount *mp = tp->t_mountp; in xfs_difree() local
2148 if (pag->pag_agno != XFS_INO_TO_AGNO(mp, inode)) { in xfs_difree()
2149 xfs_warn(mp, "%s: agno != pag->pag_agno (%d != %d).", in xfs_difree()
2150 __func__, XFS_INO_TO_AGNO(mp, inode), pag->pag_agno); in xfs_difree()
2154 agino = XFS_INO_TO_AGINO(mp, inode); in xfs_difree()
2155 if (inode != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_difree()
2156 xfs_warn(mp, "%s: inode != XFS_AGINO_TO_INO() (%llu != %llu).", in xfs_difree()
2158 (unsigned long long)XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)); in xfs_difree()
2162 agbno = XFS_AGINO_TO_AGBNO(mp, agino); in xfs_difree()
2163 if (agbno >= mp->m_sb.sb_agblocks) { in xfs_difree()
2164 xfs_warn(mp, "%s: agbno >= mp->m_sb.sb_agblocks (%d >= %d).", in xfs_difree()
2165 __func__, agbno, mp->m_sb.sb_agblocks); in xfs_difree()
2172 error = xfs_ialloc_read_agi(mp, tp, pag->pag_agno, &agbp); in xfs_difree()
2174 xfs_warn(mp, "%s: xfs_ialloc_read_agi() returned error %d.", in xfs_difree()
2182 error = xfs_difree_inobt(mp, tp, agbp, pag, agino, xic, &rec); in xfs_difree()
2189 if (xfs_has_finobt(mp)) { in xfs_difree()
2190 error = xfs_difree_finobt(mp, tp, agbp, pag, agino, &rec); in xfs_difree()
2203 struct xfs_mount *mp, in xfs_imap_lookup() argument
2218 error = xfs_ialloc_read_agi(mp, tp, pag->pag_agno, &agbp); in xfs_imap_lookup()
2220 xfs_alert(mp, in xfs_imap_lookup()
2232 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_imap_lookup()
2248 rec.ir_startino + M_IGEO(mp)->ialloc_inos <= agino) in xfs_imap_lookup()
2256 *chunk_agbno = XFS_AGINO_TO_AGBNO(mp, rec.ir_startino); in xfs_imap_lookup()
2266 struct xfs_mount *mp, /* file system mount structure */ in xfs_imap() argument
2286 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ino)); in xfs_imap()
2287 agino = XFS_INO_TO_AGINO(mp, ino); in xfs_imap()
2288 agbno = XFS_AGINO_TO_AGBNO(mp, agino); in xfs_imap()
2289 if (!pag || agbno >= mp->m_sb.sb_agblocks || in xfs_imap()
2290 ino != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_imap()
2300 xfs_alert(mp, in xfs_imap()
2302 __func__, XFS_INO_TO_AGNO(mp, ino), in xfs_imap()
2303 mp->m_sb.sb_agcount); in xfs_imap()
2305 if (agbno >= mp->m_sb.sb_agblocks) { in xfs_imap()
2306 xfs_alert(mp, in xfs_imap()
2309 (unsigned long)mp->m_sb.sb_agblocks); in xfs_imap()
2311 if (pag && ino != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_imap()
2312 xfs_alert(mp, in xfs_imap()
2315 XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)); in xfs_imap()
2330 error = xfs_imap_lookup(mp, tp, pag, agino, agbno, in xfs_imap()
2341 if (M_IGEO(mp)->blocks_per_cluster == 1) { in xfs_imap()
2342 offset = XFS_INO_TO_OFFSET(mp, ino); in xfs_imap()
2343 ASSERT(offset < mp->m_sb.sb_inopblock); in xfs_imap()
2345 imap->im_blkno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, agbno); in xfs_imap()
2346 imap->im_len = XFS_FSB_TO_BB(mp, 1); in xfs_imap()
2348 mp->m_sb.sb_inodelog); in xfs_imap()
2358 if (M_IGEO(mp)->inoalign_mask) { in xfs_imap()
2359 offset_agbno = agbno & M_IGEO(mp)->inoalign_mask; in xfs_imap()
2362 error = xfs_imap_lookup(mp, tp, pag, agino, agbno, in xfs_imap()
2371 ((offset_agbno / M_IGEO(mp)->blocks_per_cluster) * in xfs_imap()
2372 M_IGEO(mp)->blocks_per_cluster); in xfs_imap()
2373 offset = ((agbno - cluster_agbno) * mp->m_sb.sb_inopblock) + in xfs_imap()
2374 XFS_INO_TO_OFFSET(mp, ino); in xfs_imap()
2376 imap->im_blkno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, cluster_agbno); in xfs_imap()
2377 imap->im_len = XFS_FSB_TO_BB(mp, M_IGEO(mp)->blocks_per_cluster); in xfs_imap()
2378 imap->im_boffset = (unsigned short)(offset << mp->m_sb.sb_inodelog); in xfs_imap()
2387 XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks)) { in xfs_imap()
2388 xfs_alert(mp, in xfs_imap()
2392 XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks)); in xfs_imap()
2474 struct xfs_mount *mp = bp->b_mount; in xfs_agi_verify() local
2478 if (xfs_has_crc(mp)) { in xfs_agi_verify()
2479 if (!uuid_equal(&agi->agi_uuid, &mp->m_sb.sb_meta_uuid)) in xfs_agi_verify()
2481 if (!xfs_log_check_lsn(mp, be64_to_cpu(agi->agi_lsn))) in xfs_agi_verify()
2494 be32_to_cpu(agi->agi_level) > M_IGEO(mp)->inobt_maxlevels) in xfs_agi_verify()
2497 if (xfs_has_finobt(mp) && in xfs_agi_verify()
2499 be32_to_cpu(agi->agi_free_level) > M_IGEO(mp)->inobt_maxlevels)) in xfs_agi_verify()
2514 if (!xfs_verify_ino(mp, be32_to_cpu(agi->agi_unlinked[i]))) in xfs_agi_verify()
2525 struct xfs_mount *mp = bp->b_mount; in xfs_agi_read_verify() local
2528 if (xfs_has_crc(mp) && in xfs_agi_read_verify()
2533 if (XFS_TEST_ERROR(fa, mp, XFS_ERRTAG_IALLOC_READ_AGI)) in xfs_agi_read_verify()
2542 struct xfs_mount *mp = bp->b_mount; in xfs_agi_write_verify() local
2553 if (!xfs_has_crc(mp)) in xfs_agi_write_verify()
2574 struct xfs_mount *mp, /* file system mount structure */ in xfs_read_agi() argument
2581 trace_xfs_read_agi(mp, agno); in xfs_read_agi()
2584 error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, in xfs_read_agi()
2585 XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)), in xfs_read_agi()
2586 XFS_FSS_TO_BB(mp, 1), 0, bpp, &xfs_agi_buf_ops); in xfs_read_agi()
2598 struct xfs_mount *mp, /* file system mount structure */ in xfs_ialloc_read_agi() argument
2607 trace_xfs_ialloc_read_agi(mp, agno); in xfs_ialloc_read_agi()
2609 error = xfs_read_agi(mp, tp, agno, bpp); in xfs_ialloc_read_agi()
2626 xfs_is_shutdown(mp)); in xfs_ialloc_read_agi()
2635 xfs_mount_t *mp, /* file system mount structure */ in xfs_ialloc_pagi_init() argument
2642 error = xfs_ialloc_read_agi(mp, tp, agno, &bp); in xfs_ialloc_pagi_init()
2765 struct xfs_mount *mp) in xfs_ialloc_setup_geometry() argument
2767 struct xfs_sb *sbp = &mp->m_sb; in xfs_ialloc_setup_geometry()
2768 struct xfs_ino_geometry *igeo = M_IGEO(mp); in xfs_ialloc_setup_geometry()
2773 if (xfs_has_bigtime(mp)) in xfs_ialloc_setup_geometry()
2778 igeo->inobt_mxr[0] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, 1); in xfs_ialloc_setup_geometry()
2779 igeo->inobt_mxr[1] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, 0); in xfs_ialloc_setup_geometry()
2793 inodes = (1LL << XFS_INO_AGINO_BITS(mp)) >> XFS_INODES_PER_CHUNK_LOG; in xfs_ialloc_setup_geometry()
2812 igeo->maxicount = XFS_FSB_TO_INO(mp, in xfs_ialloc_setup_geometry()
2829 if (xfs_has_v3inodes(mp)) { in xfs_ialloc_setup_geometry()
2832 new_size *= mp->m_sb.sb_inodesize / XFS_DINODE_MIN_SIZE; in xfs_ialloc_setup_geometry()
2833 if (mp->m_sb.sb_inoalignmt >= XFS_B_TO_FSBT(mp, new_size)) in xfs_ialloc_setup_geometry()
2838 if (igeo->inode_cluster_size_raw > mp->m_sb.sb_blocksize) in xfs_ialloc_setup_geometry()
2839 igeo->blocks_per_cluster = XFS_B_TO_FSBT(mp, in xfs_ialloc_setup_geometry()
2843 igeo->inode_cluster_size = XFS_FSB_TO_B(mp, igeo->blocks_per_cluster); in xfs_ialloc_setup_geometry()
2844 igeo->inodes_per_cluster = XFS_FSB_TO_INO(mp, igeo->blocks_per_cluster); in xfs_ialloc_setup_geometry()
2847 if (xfs_has_align(mp) && in xfs_ialloc_setup_geometry()
2848 mp->m_sb.sb_inoalignmt >= igeo->blocks_per_cluster) in xfs_ialloc_setup_geometry()
2849 igeo->cluster_align = mp->m_sb.sb_inoalignmt; in xfs_ialloc_setup_geometry()
2853 igeo->cluster_align_inodes = XFS_FSB_TO_INO(mp, igeo->cluster_align); in xfs_ialloc_setup_geometry()
2859 if (mp->m_dalign && igeo->inoalign_mask && in xfs_ialloc_setup_geometry()
2860 !(mp->m_dalign & igeo->inoalign_mask)) in xfs_ialloc_setup_geometry()
2861 igeo->ialloc_align = mp->m_dalign; in xfs_ialloc_setup_geometry()
2869 struct xfs_mount *mp, in xfs_ialloc_calc_rootino() argument
2872 struct xfs_ino_geometry *igeo = M_IGEO(mp); in xfs_ialloc_calc_rootino()
2883 first_bno = howmany(4 * mp->m_sb.sb_sectsize, mp->m_sb.sb_blocksize); in xfs_ialloc_calc_rootino()
2892 first_bno += xfs_alloc_min_freelist(mp, NULL); in xfs_ialloc_calc_rootino()
2895 if (xfs_has_finobt(mp)) in xfs_ialloc_calc_rootino()
2899 if (xfs_has_rmapbt(mp)) in xfs_ialloc_calc_rootino()
2903 if (xfs_has_reflink(mp)) in xfs_ialloc_calc_rootino()
2913 if (mp->m_sb.sb_logstart && in xfs_ialloc_calc_rootino()
2914 XFS_FSB_TO_AGNO(mp, mp->m_sb.sb_logstart) == 0) in xfs_ialloc_calc_rootino()
2915 first_bno += mp->m_sb.sb_logblocks; in xfs_ialloc_calc_rootino()
2921 if (xfs_has_dalign(mp) && igeo->ialloc_align > 0) in xfs_ialloc_calc_rootino()
2923 else if (xfs_has_align(mp) && in xfs_ialloc_calc_rootino()
2924 mp->m_sb.sb_inoalignmt > 1) in xfs_ialloc_calc_rootino()
2925 first_bno = roundup(first_bno, mp->m_sb.sb_inoalignmt); in xfs_ialloc_calc_rootino()
2927 return XFS_AGINO_TO_INO(mp, 0, XFS_AGB_TO_AGINO(mp, first_bno)); in xfs_ialloc_calc_rootino()
2948 struct xfs_mount *mp = tp->t_mountp; in xfs_ialloc_check_shrink() local
2950 xfs_agino_t agino = XFS_AGB_TO_AGINO(mp, new_length); in xfs_ialloc_check_shrink()
2954 if (!xfs_has_sparseinodes(mp)) in xfs_ialloc_check_shrink()
2957 pag = xfs_perag_get(mp, agno); in xfs_ialloc_check_shrink()
2958 cur = xfs_inobt_init_cursor(mp, tp, agibp, pag, XFS_BTNUM_INO); in xfs_ialloc_check_shrink()