Lines Matching refs:sbp
281 #define XFS_SB_VERSION_NUM(sbp) ((sbp)->sb_versionnum & XFS_SB_VERSION_NUMBITS)
286 static inline bool xfs_sb_good_v4_features(struct xfs_sb *sbp)
288 if (!(sbp->sb_versionnum & XFS_SB_VERSION_DIRV2BIT))
290 if (!(sbp->sb_versionnum & XFS_SB_VERSION_EXTFLGBIT))
294 if ((sbp->sb_versionnum & ~XFS_SB_VERSION_OKBITS) ||
295 ((sbp->sb_versionnum & XFS_SB_VERSION_MOREBITSBIT) &&
296 (sbp->sb_features2 & ~XFS_SB_VERSION2_OKBITS)))
302 static inline bool xfs_sb_good_version(struct xfs_sb *sbp)
304 if (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5)
306 if (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_4)
307 return xfs_sb_good_v4_features(sbp);
311 static inline bool xfs_sb_version_hasrealtime(struct xfs_sb *sbp)
313 return sbp->sb_rblocks > 0;
320 static inline bool xfs_sb_has_mismatched_features2(struct xfs_sb *sbp)
322 return sbp->sb_bad_features2 != sbp->sb_features2;
325 static inline bool xfs_sb_version_hasattr(struct xfs_sb *sbp)
327 return (sbp->sb_versionnum & XFS_SB_VERSION_ATTRBIT);
330 static inline void xfs_sb_version_addattr(struct xfs_sb *sbp)
332 sbp->sb_versionnum |= XFS_SB_VERSION_ATTRBIT;
335 static inline bool xfs_sb_version_hasquota(struct xfs_sb *sbp)
337 return (sbp->sb_versionnum & XFS_SB_VERSION_QUOTABIT);
340 static inline void xfs_sb_version_addquota(struct xfs_sb *sbp)
342 sbp->sb_versionnum |= XFS_SB_VERSION_QUOTABIT;
345 static inline bool xfs_sb_version_hasalign(struct xfs_sb *sbp)
347 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 ||
348 (sbp->sb_versionnum & XFS_SB_VERSION_ALIGNBIT));
351 static inline bool xfs_sb_version_hasdalign(struct xfs_sb *sbp)
353 return (sbp->sb_versionnum & XFS_SB_VERSION_DALIGNBIT);
356 static inline bool xfs_sb_version_haslogv2(struct xfs_sb *sbp)
358 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 ||
359 (sbp->sb_versionnum & XFS_SB_VERSION_LOGV2BIT);
362 static inline bool xfs_sb_version_hassector(struct xfs_sb *sbp)
364 return (sbp->sb_versionnum & XFS_SB_VERSION_SECTORBIT);
367 static inline bool xfs_sb_version_hasasciici(struct xfs_sb *sbp)
369 return (sbp->sb_versionnum & XFS_SB_VERSION_BORGBIT);
372 static inline bool xfs_sb_version_hasmorebits(struct xfs_sb *sbp)
374 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 ||
375 (sbp->sb_versionnum & XFS_SB_VERSION_MOREBITSBIT);
381 static inline bool xfs_sb_version_haslazysbcount(struct xfs_sb *sbp)
383 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) ||
384 (xfs_sb_version_hasmorebits(sbp) &&
385 (sbp->sb_features2 & XFS_SB_VERSION2_LAZYSBCOUNTBIT));
388 static inline bool xfs_sb_version_hasattr2(struct xfs_sb *sbp)
390 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) ||
391 (xfs_sb_version_hasmorebits(sbp) &&
392 (sbp->sb_features2 & XFS_SB_VERSION2_ATTR2BIT));
395 static inline void xfs_sb_version_addattr2(struct xfs_sb *sbp)
397 sbp->sb_versionnum |= XFS_SB_VERSION_MOREBITSBIT;
398 sbp->sb_features2 |= XFS_SB_VERSION2_ATTR2BIT;
401 static inline void xfs_sb_version_removeattr2(struct xfs_sb *sbp)
403 sbp->sb_features2 &= ~XFS_SB_VERSION2_ATTR2BIT;
404 if (!sbp->sb_features2)
405 sbp->sb_versionnum &= ~XFS_SB_VERSION_MOREBITSBIT;
408 static inline bool xfs_sb_version_hasprojid32bit(struct xfs_sb *sbp)
410 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) ||
411 (xfs_sb_version_hasmorebits(sbp) &&
412 (sbp->sb_features2 & XFS_SB_VERSION2_PROJID32BIT));
415 static inline void xfs_sb_version_addprojid32bit(struct xfs_sb *sbp)
417 sbp->sb_versionnum |= XFS_SB_VERSION_MOREBITSBIT;
418 sbp->sb_features2 |= XFS_SB_VERSION2_PROJID32BIT;
443 struct xfs_sb *sbp,
446 return (sbp->sb_features_compat & feature) != 0;
461 struct xfs_sb *sbp,
464 return (sbp->sb_features_ro_compat & feature) != 0;
480 struct xfs_sb *sbp,
483 return (sbp->sb_features_incompat & feature) != 0;
490 struct xfs_sb *sbp,
493 return (sbp->sb_features_log_incompat & feature) != 0;
499 static inline bool xfs_sb_version_hascrc(struct xfs_sb *sbp)
501 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5;
508 static inline bool xfs_sb_version_has_v3inode(struct xfs_sb *sbp)
510 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5;
513 static inline bool xfs_dinode_good_version(struct xfs_sb *sbp,
516 if (xfs_sb_version_has_v3inode(sbp))
521 static inline bool xfs_sb_version_has_pquotino(struct xfs_sb *sbp)
523 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5;
526 static inline int xfs_sb_version_hasftype(struct xfs_sb *sbp)
528 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 &&
529 xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_FTYPE)) ||
530 (xfs_sb_version_hasmorebits(sbp) &&
531 (sbp->sb_features2 & XFS_SB_VERSION2_FTYPE));
534 static inline bool xfs_sb_version_hasfinobt(xfs_sb_t *sbp)
536 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) &&
537 (sbp->sb_features_ro_compat & XFS_SB_FEAT_RO_COMPAT_FINOBT);
540 static inline bool xfs_sb_version_hassparseinodes(struct xfs_sb *sbp)
542 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 &&
543 xfs_sb_has_incompat_feature(sbp, XFS_SB_FEAT_INCOMPAT_SPINODES);
552 static inline bool xfs_sb_version_hasmetauuid(struct xfs_sb *sbp)
554 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) &&
555 (sbp->sb_features_incompat & XFS_SB_FEAT_INCOMPAT_META_UUID);
558 static inline bool xfs_sb_version_hasrmapbt(struct xfs_sb *sbp)
560 return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) &&
561 (sbp->sb_features_ro_compat & XFS_SB_FEAT_RO_COMPAT_RMAPBT);
564 static inline bool xfs_sb_version_hasreflink(struct xfs_sb *sbp)
566 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 &&
567 (sbp->sb_features_ro_compat & XFS_SB_FEAT_RO_COMPAT_REFLINK);
570 static inline bool xfs_sb_version_hasbigtime(struct xfs_sb *sbp)
572 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 &&
573 (sbp->sb_features_incompat & XFS_SB_FEAT_INCOMPAT_BIGTIME);
581 static inline bool xfs_sb_version_hasinobtcounts(struct xfs_sb *sbp)
583 return XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5 &&
584 (sbp->sb_features_ro_compat & XFS_SB_FEAT_RO_COMPAT_INOBTCNT);
592 xfs_is_quota_inode(struct xfs_sb *sbp, xfs_ino_t ino)
594 return (ino == sbp->sb_uquotino ||
595 ino == sbp->sb_gquotino ||
596 ino == sbp->sb_pquotino);
1059 #define XFS_DINODE_SIZE(sbp) \
1060 (xfs_sb_version_has_v3inode(sbp) ? \