10b61f8a4SDave Chinner // SPDX-License-Identifier: GPL-2.0 269116a13SDave Chinner /* 369116a13SDave Chinner * Copyright (c) 2000-2005 Silicon Graphics, Inc. 469116a13SDave Chinner * All Rights Reserved. 569116a13SDave Chinner */ 669116a13SDave Chinner #ifndef __XFS_SB_H__ 769116a13SDave Chinner #define __XFS_SB_H__ 869116a13SDave Chinner 9b16817b6SDave Chinner struct xfs_mount; 10b16817b6SDave Chinner struct xfs_sb; 11b16817b6SDave Chinner struct xfs_dsb; 12b16817b6SDave Chinner struct xfs_trans; 13b16817b6SDave Chinner struct xfs_fsop_geom; 14b16817b6SDave Chinner struct xfs_perag; 15b16817b6SDave Chinner 1661e63ecbSDave Chinner extern void xfs_log_sb(struct xfs_trans *tp); 1761e63ecbSDave Chinner extern int xfs_sync_sb(struct xfs_mount *mp, bool wait); 18f7664b31SEric Sandeen extern int xfs_sync_sb_buf(struct xfs_mount *mp); 194d11a402SDave Chinner extern void xfs_sb_mount_common(struct xfs_mount *mp, struct xfs_sb *sbp); 204d11a402SDave Chinner extern void xfs_sb_from_disk(struct xfs_sb *to, struct xfs_dsb *from); 214d11a402SDave Chinner extern void xfs_sb_to_disk(struct xfs_dsb *to, struct xfs_sb *from); 2269116a13SDave Chinner extern void xfs_sb_quota_from_disk(struct xfs_sb *sbp); 23fe08cc50SDave Chinner extern bool xfs_sb_good_version(struct xfs_sb *sbp); 24a1d86e8dSDave Chinner extern uint64_t xfs_sb_version_to_features(struct xfs_sb *sbp); 2569116a13SDave Chinner 26b16817b6SDave Chinner extern int xfs_update_secondary_sbs(struct xfs_mount *mp); 27b16817b6SDave Chinner 28195f2238SDarrick J. Wong #define XFS_FS_GEOM_MAX_STRUCT_VER (5) 2903288b19SDave Chinner extern void xfs_fs_geometry(struct xfs_mount *mp, struct xfs_fsop_geom *geo, 30ac503a4cSDarrick J. Wong int struct_version); 31689e11c8SDarrick J. Wong extern int xfs_sb_read_secondary(struct xfs_mount *mp, 32689e11c8SDarrick J. Wong struct xfs_trans *tp, xfs_agnumber_t agno, 33689e11c8SDarrick J. Wong struct xfs_buf **bpp); 34d25522f1SDarrick J. Wong extern int xfs_sb_get_secondary(struct xfs_mount *mp, 35d25522f1SDarrick J. Wong struct xfs_trans *tp, xfs_agnumber_t agno, 36d25522f1SDarrick J. Wong struct xfs_buf **bpp); 37c368ebcdSDarrick J. Wong 38*79ba47dfSDave Chinner bool xfs_validate_stripe_geometry(struct xfs_mount *mp, 39*79ba47dfSDave Chinner __s64 sunit, __s64 swidth, int sectorsize, bool may_repair, 40*79ba47dfSDave Chinner bool silent); 417bc1fea9SGao Xiang 42ea01221fSDarrick J. Wong uint8_t xfs_compute_rextslog(xfs_rtbxlen_t rtextents); 43ea01221fSDarrick J. Wong 4469116a13SDave Chinner #endif /* __XFS_SB_H__ */ 45