linux/fs/xfs/libxfs/xfs_sb.h
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Copyright (c) 2000-2005 Silicon Graphics, Inc.
   4 * All Rights Reserved.
   5 */
   6#ifndef __XFS_SB_H__
   7#define __XFS_SB_H__
   8
   9struct xfs_mount;
  10struct xfs_sb;
  11struct xfs_dsb;
  12struct xfs_trans;
  13struct xfs_fsop_geom;
  14struct xfs_perag;
  15
  16/*
  17 * perag get/put wrappers for ref counting
  18 */
  19extern struct xfs_perag *xfs_perag_get(struct xfs_mount *, xfs_agnumber_t);
  20extern struct xfs_perag *xfs_perag_get_tag(struct xfs_mount *, xfs_agnumber_t,
  21                                           int tag);
  22extern void     xfs_perag_put(struct xfs_perag *pag);
  23extern int      xfs_initialize_perag_data(struct xfs_mount *, xfs_agnumber_t);
  24
  25extern void     xfs_log_sb(struct xfs_trans *tp);
  26extern int      xfs_sync_sb(struct xfs_mount *mp, bool wait);
  27extern int      xfs_sync_sb_buf(struct xfs_mount *mp);
  28extern void     xfs_sb_mount_common(struct xfs_mount *mp, struct xfs_sb *sbp);
  29extern void     xfs_sb_from_disk(struct xfs_sb *to, struct xfs_dsb *from);
  30extern void     xfs_sb_to_disk(struct xfs_dsb *to, struct xfs_sb *from);
  31extern void     xfs_sb_quota_from_disk(struct xfs_sb *sbp);
  32
  33extern int      xfs_update_secondary_sbs(struct xfs_mount *mp);
  34
  35#define XFS_FS_GEOM_MAX_STRUCT_VER      (4)
  36extern void     xfs_fs_geometry(struct xfs_sb *sbp, struct xfs_fsop_geom *geo,
  37                                int struct_version);
  38extern int      xfs_sb_read_secondary(struct xfs_mount *mp,
  39                                struct xfs_trans *tp, xfs_agnumber_t agno,
  40                                struct xfs_buf **bpp);
  41extern int      xfs_sb_get_secondary(struct xfs_mount *mp,
  42                                struct xfs_trans *tp, xfs_agnumber_t agno,
  43                                struct xfs_buf **bpp);
  44
  45#endif  /* __XFS_SB_H__ */
  46