Lines Matching refs:igeo
650 struct xfs_ino_geometry *igeo = M_IGEO(tp->t_mountp);
664 igeo->ialloc_min_blks < igeo->ialloc_blks)
672 newlen = igeo->ialloc_inos;
673 if (igeo->maxicount &&
675 igeo->maxicount)
677 args.minlen = args.maxlen = igeo->ialloc_blks;
686 igeo->ialloc_blks;
707 args.minalignslop = igeo->cluster_align - 1;
710 args.minleft = igeo->inobt_maxlevels;
740 if (igeo->ialloc_align) {
745 args.alignment = igeo->cluster_align;
753 args.minleft = igeo->inobt_maxlevels;
766 args.alignment = igeo->cluster_align;
779 igeo->ialloc_min_blks < igeo->ialloc_blks &&
785 args.minlen = igeo->ialloc_min_blks;
801 igeo->ialloc_blks;
1746 struct xfs_ino_geometry *igeo = M_IGEO(mp);
1774 if (igeo->maxicount &&
1775 percpu_counter_read_positive(&mp->m_icount) + igeo->ialloc_inos
1776 > igeo->maxicount) {
2791 struct xfs_ino_geometry *igeo = M_IGEO(mp);
2795 igeo->new_diflags2 = 0;
2797 igeo->new_diflags2 |= XFS_DIFLAG2_BIGTIME;
2799 igeo->new_diflags2 |= XFS_DIFLAG2_NREXT64;
2802 igeo->agino_log = sbp->sb_inopblog + sbp->sb_agblklog;
2803 igeo->inobt_mxr[0] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, 1);
2804 igeo->inobt_mxr[1] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, 0);
2805 igeo->inobt_mnr[0] = igeo->inobt_mxr[0] / 2;
2806 igeo->inobt_mnr[1] = igeo->inobt_mxr[1] / 2;
2808 igeo->ialloc_inos = max_t(uint16_t, XFS_INODES_PER_CHUNK,
2810 igeo->ialloc_blks = igeo->ialloc_inos >> sbp->sb_inopblog;
2813 igeo->ialloc_min_blks = sbp->sb_spino_align;
2815 igeo->ialloc_min_blks = igeo->ialloc_blks;
2819 igeo->inobt_maxlevels = xfs_btree_compute_maxlevels(igeo->inobt_mnr,
2821 ASSERT(igeo->inobt_maxlevels <= xfs_iallocbt_maxlevels_ondisk());
2829 if (sbp->sb_imax_pct && igeo->ialloc_blks) {
2836 do_div(icount, igeo->ialloc_blks);
2837 igeo->maxicount = XFS_FSB_TO_INO(mp,
2838 icount * igeo->ialloc_blks);
2840 igeo->maxicount = 0;
2853 igeo->inode_cluster_size_raw = XFS_INODE_BIG_CLUSTER_SIZE;
2855 int new_size = igeo->inode_cluster_size_raw;
2859 igeo->inode_cluster_size_raw = new_size;
2863 if (igeo->inode_cluster_size_raw > mp->m_sb.sb_blocksize)
2864 igeo->blocks_per_cluster = XFS_B_TO_FSBT(mp,
2865 igeo->inode_cluster_size_raw);
2867 igeo->blocks_per_cluster = 1;
2868 igeo->inode_cluster_size = XFS_FSB_TO_B(mp, igeo->blocks_per_cluster);
2869 igeo->inodes_per_cluster = XFS_FSB_TO_INO(mp, igeo->blocks_per_cluster);
2873 mp->m_sb.sb_inoalignmt >= igeo->blocks_per_cluster)
2874 igeo->cluster_align = mp->m_sb.sb_inoalignmt;
2876 igeo->cluster_align = 1;
2877 igeo->inoalign_mask = igeo->cluster_align - 1;
2878 igeo->cluster_align_inodes = XFS_FSB_TO_INO(mp, igeo->cluster_align);
2884 if (mp->m_dalign && igeo->inoalign_mask &&
2885 !(mp->m_dalign & igeo->inoalign_mask))
2886 igeo->ialloc_align = mp->m_dalign;
2888 igeo->ialloc_align = 0;
2897 struct xfs_ino_geometry *igeo = M_IGEO(mp);
2945 if (xfs_has_dalign(mp) && igeo->ialloc_align > 0)