Lines Matching defs:sbp

98 	struct xfs_sb		*sbp)
100 if (XFS_SB_VERSION_NUM(sbp) != XFS_SB_VERSION_5)
107 if (xfs_sb_has_compat_feature(sbp, XFS_SB_FEAT_COMPAT_UNKNOWN)) {
110 (sbp->sb_features_compat & XFS_SB_FEAT_COMPAT_UNKNOWN));
115 if (xfs_sb_has_ro_compat_feature(sbp, XFS_SB_FEAT_RO_COMPAT_UNKNOWN)) {
118 (sbp->sb_features_ro_compat &
129 if (xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_UNKNOWN)) {
132 (sbp->sb_features_incompat &
147 struct xfs_sb *sbp)
159 if (XFS_BUF_ADDR(bp) == XFS_SB_DADDR && !sbp->sb_inprogress &&
160 (sbp->sb_fdblocks > sbp->sb_dblocks ||
161 !xfs_verify_icount(mp, sbp->sb_icount) ||
162 sbp->sb_ifree > sbp->sb_icount)) {
167 if (XFS_SB_VERSION_NUM(sbp) != XFS_SB_VERSION_5)
175 if (xfs_sb_has_compat_feature(sbp, XFS_SB_FEAT_COMPAT_UNKNOWN)) {
178 (sbp->sb_features_compat & XFS_SB_FEAT_COMPAT_UNKNOWN));
182 if (xfs_sb_has_ro_compat_feature(sbp, XFS_SB_FEAT_RO_COMPAT_UNKNOWN)) {
185 (sbp->sb_features_ro_compat &
189 if (xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_UNKNOWN)) {
192 (sbp->sb_features_incompat &
196 if (xfs_sb_has_incompat_log_feature(sbp,
200 (sbp->sb_features_log_incompat &
210 if (!xfs_log_check_lsn(mp, sbp->sb_lsn))
221 struct xfs_sb *sbp)
232 if (!xfs_sb_good_version(sbp)) {
237 if (xfs_sb_version_has_pquotino(sbp)) {
238 if (sbp->sb_qflags & (XFS_OQUOTA_ENFD | XFS_OQUOTA_CHKD)) {
243 } else if (sbp->sb_qflags & (XFS_PQUOTA_ENFD | XFS_GQUOTA_ENFD |
255 if (xfs_sb_version_hassparseinodes(sbp)) {
258 align = XFS_INODES_PER_CHUNK * sbp->sb_inodesize
259 >> sbp->sb_blocklog;
260 if (sbp->sb_inoalignmt != align) {
263 sbp->sb_inoalignmt, align);
269 sbp->sb_logstart == 0 && mp->m_logdev_targp == mp->m_ddev_targp)) {
277 sbp->sb_logstart != 0 && mp->m_logdev_targp != mp->m_ddev_targp)) {
285 if (sbp->sb_agblocks) {
286 agcount = div_u64_rem(sbp->sb_dblocks, sbp->sb_agblocks, &rem);
296 sbp->sb_agcount <= 0 ||
297 sbp->sb_sectsize < XFS_MIN_SECTORSIZE ||
298 sbp->sb_sectsize > XFS_MAX_SECTORSIZE ||
299 sbp->sb_sectlog < XFS_MIN_SECTORSIZE_LOG ||
300 sbp->sb_sectlog > XFS_MAX_SECTORSIZE_LOG ||
301 sbp->sb_sectsize != (1 << sbp->sb_sectlog) ||
302 sbp->sb_blocksize < XFS_MIN_BLOCKSIZE ||
303 sbp->sb_blocksize > XFS_MAX_BLOCKSIZE ||
304 sbp->sb_blocklog < XFS_MIN_BLOCKSIZE_LOG ||
305 sbp->sb_blocklog > XFS_MAX_BLOCKSIZE_LOG ||
306 sbp->sb_blocksize != (1 << sbp->sb_blocklog) ||
307 sbp->sb_dirblklog + sbp->sb_blocklog > XFS_MAX_BLOCKSIZE_LOG ||
308 sbp->sb_inodesize < XFS_DINODE_MIN_SIZE ||
309 sbp->sb_inodesize > XFS_DINODE_MAX_SIZE ||
310 sbp->sb_inodelog < XFS_DINODE_MIN_LOG ||
311 sbp->sb_inodelog > XFS_DINODE_MAX_LOG ||
312 sbp->sb_inodesize != (1 << sbp->sb_inodelog) ||
313 sbp->sb_logsunit > XLOG_MAX_RECORD_BSIZE ||
314 sbp->sb_inopblock != howmany(sbp->sb_blocksize,sbp->sb_inodesize) ||
315 XFS_FSB_TO_B(mp, sbp->sb_agblocks) < XFS_MIN_AG_BYTES ||
316 XFS_FSB_TO_B(mp, sbp->sb_agblocks) > XFS_MAX_AG_BYTES ||
317 sbp->sb_agblklog != xfs_highbit32(sbp->sb_agblocks - 1) + 1 ||
318 agcount == 0 || agcount != sbp->sb_agcount ||
319 (sbp->sb_blocklog - sbp->sb_inodelog != sbp->sb_inopblog) ||
320 (sbp->sb_rextsize * sbp->sb_blocksize > XFS_MAX_RTEXTSIZE) ||
321 (sbp->sb_rextsize * sbp->sb_blocksize < XFS_MIN_RTEXTSIZE) ||
322 (sbp->sb_imax_pct > 100 /* zero sb_imax_pct is valid */) ||
323 sbp->sb_dblocks == 0 ||
324 sbp->sb_dblocks > XFS_MAX_DBLOCKS(sbp) ||
325 sbp->sb_dblocks < XFS_MIN_DBLOCKS(sbp) ||
326 sbp->sb_shared_vn != 0)) {
332 if (sbp->sb_rextsize * sbp->sb_blocksize > XFS_MAX_RTEXTSIZE ||
333 sbp->sb_rextsize * sbp->sb_blocksize < XFS_MIN_RTEXTSIZE) {
339 if (sbp->sb_rblocks == 0) {
340 if (sbp->sb_rextents != 0 || sbp->sb_rbmblocks != 0 ||
341 sbp->sb_rextslog != 0 || sbp->sb_frextents != 0) {
350 rexts = div_u64(sbp->sb_rblocks, sbp->sb_rextsize);
351 rbmblocks = howmany_64(sbp->sb_rextents,
352 NBBY * sbp->sb_blocksize);
354 if (sbp->sb_rextents != rexts ||
355 sbp->sb_rextslog != xfs_highbit32(sbp->sb_rextents) ||
356 sbp->sb_rbmblocks != rbmblocks) {
363 if (sbp->sb_unit) {
364 if (!xfs_sb_version_hasdalign(sbp) ||
365 sbp->sb_unit > sbp->sb_width ||
366 (sbp->sb_width % sbp->sb_unit) != 0) {
370 } else if (xfs_sb_version_hasdalign(sbp)) {
373 } else if (sbp->sb_width) {
380 sbp->sb_blocksize < XFS_MIN_CRC_BLOCKSIZE) {
388 if (unlikely(sbp->sb_blocksize > PAGE_SIZE)) {
392 sbp->sb_blocksize, PAGE_SIZE);
399 switch (sbp->sb_inodesize) {
407 sbp->sb_inodesize);
411 if (xfs_sb_validate_fsb_count(sbp, sbp->sb_dblocks) ||
412 xfs_sb_validate_fsb_count(sbp, sbp->sb_rblocks)) {
423 if (XFS_BUF_ADDR(bp) == XFS_SB_DADDR && sbp->sb_inprogress) {
431 xfs_sb_quota_from_disk(struct xfs_sb *sbp)
444 if (sbp->sb_uquotino == 0)
445 sbp->sb_uquotino = NULLFSINO;
446 if (sbp->sb_gquotino == 0)
447 sbp->sb_gquotino = NULLFSINO;
448 if (sbp->sb_pquotino == 0)
449 sbp->sb_pquotino = NULLFSINO;
455 if (xfs_sb_version_has_pquotino(sbp))
458 if (sbp->sb_qflags & XFS_OQUOTA_ENFD)
459 sbp->sb_qflags |= (sbp->sb_qflags & XFS_PQUOTA_ACCT) ?
461 if (sbp->sb_qflags & XFS_OQUOTA_CHKD)
462 sbp->sb_qflags |= (sbp->sb_qflags & XFS_PQUOTA_ACCT) ?
464 sbp->sb_qflags &= ~(XFS_OQUOTA_ENFD | XFS_OQUOTA_CHKD);
466 if (sbp->sb_qflags & XFS_PQUOTA_ACCT &&
467 sbp->sb_gquotino != NULLFSINO) {
477 sbp->sb_pquotino = sbp->sb_gquotino;
478 sbp->sb_gquotino = NULLFSINO;
837 struct xfs_sb *sbp)
841 mp->m_blkbit_log = sbp->sb_blocklog + XFS_NBBYLOG;
842 mp->m_blkbb_log = sbp->sb_blocklog - BBSHIFT;
843 mp->m_sectbb_log = sbp->sb_sectlog - BBSHIFT;
844 mp->m_agno_log = xfs_highbit32(sbp->sb_agcount - 1) + 1;
845 mp->m_blockmask = sbp->sb_blocksize - 1;
846 mp->m_blockwsize = sbp->sb_blocksize >> XFS_WORDLOG;
849 mp->m_alloc_mxr[0] = xfs_allocbt_maxrecs(mp, sbp->sb_blocksize, 1);
850 mp->m_alloc_mxr[1] = xfs_allocbt_maxrecs(mp, sbp->sb_blocksize, 0);
854 mp->m_bmap_dmxr[0] = xfs_bmbt_maxrecs(mp, sbp->sb_blocksize, 1);
855 mp->m_bmap_dmxr[1] = xfs_bmbt_maxrecs(mp, sbp->sb_blocksize, 0);
859 mp->m_rmap_mxr[0] = xfs_rmapbt_maxrecs(sbp->sb_blocksize, 1);
860 mp->m_rmap_mxr[1] = xfs_rmapbt_maxrecs(sbp->sb_blocksize, 0);
864 mp->m_refc_mxr[0] = xfs_refcountbt_maxrecs(sbp->sb_blocksize, true);
865 mp->m_refc_mxr[1] = xfs_refcountbt_maxrecs(sbp->sb_blocksize, false);
889 xfs_sb_t *sbp = &mp->m_sb;
927 if (fdblocks > sbp->sb_dblocks || ifree > ialloc) {
935 sbp->sb_ifree = ifree;
936 sbp->sb_icount = ialloc;
937 sbp->sb_fdblocks = fdblocks;
1115 struct xfs_sb *sbp,
1121 geo->blocksize = sbp->sb_blocksize;
1122 geo->rtextsize = sbp->sb_rextsize;
1123 geo->agblocks = sbp->sb_agblocks;
1124 geo->agcount = sbp->sb_agcount;
1125 geo->logblocks = sbp->sb_logblocks;
1126 geo->sectsize = sbp->sb_sectsize;
1127 geo->inodesize = sbp->sb_inodesize;
1128 geo->imaxpct = sbp->sb_imax_pct;
1129 geo->datablocks = sbp->sb_dblocks;
1130 geo->rtblocks = sbp->sb_rblocks;
1131 geo->rtextents = sbp->sb_rextents;
1132 geo->logstart = sbp->sb_logstart;
1133 BUILD_BUG_ON(sizeof(geo->uuid) != sizeof(sbp->sb_uuid));
1134 memcpy(geo->uuid, &sbp->sb_uuid, sizeof(sbp->sb_uuid));
1139 geo->sunit = sbp->sb_unit;
1140 geo->swidth = sbp->sb_width;
1149 if (xfs_sb_version_hasattr(sbp))
1151 if (xfs_sb_version_hasquota(sbp))
1153 if (xfs_sb_version_hasalign(sbp))
1155 if (xfs_sb_version_hasdalign(sbp))
1157 if (xfs_sb_version_hassector(sbp))
1159 if (xfs_sb_version_hasasciici(sbp))
1161 if (xfs_sb_version_haslazysbcount(sbp))
1163 if (xfs_sb_version_hasattr2(sbp))
1165 if (xfs_sb_version_hasprojid32bit(sbp))
1167 if (xfs_sb_version_hascrc(sbp))
1169 if (xfs_sb_version_hasftype(sbp))
1171 if (xfs_sb_version_hasfinobt(sbp))
1173 if (xfs_sb_version_hassparseinodes(sbp))
1175 if (xfs_sb_version_hasrmapbt(sbp))
1177 if (xfs_sb_version_hasreflink(sbp))
1179 if (xfs_sb_version_hasbigtime(sbp))
1181 if (xfs_sb_version_hassector(sbp))
1182 geo->logsectsize = sbp->sb_logsectsize;
1185 geo->rtsectsize = sbp->sb_blocksize;
1186 geo->dirblocksize = xfs_dir2_dirblock_bytes(sbp);
1191 if (xfs_sb_version_haslogv2(sbp))
1194 geo->logsunit = sbp->sb_logsunit;