1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (c) 2018 Red Hat, Inc. 4 * All rights reserved. 5 */ 6 7 #ifndef __LIBXFS_AG_H 8 #define __LIBXFS_AG_H 1 9 10 struct xfs_mount; 11 struct xfs_trans; 12 13 struct aghdr_init_data { 14 /* per ag data */ 15 xfs_agblock_t agno; /* ag to init */ 16 xfs_extlen_t agsize; /* new AG size */ 17 struct list_head buffer_list; /* buffer writeback list */ 18 xfs_rfsblock_t nfree; /* cumulative new free space */ 19 20 /* per header data */ 21 xfs_daddr_t daddr; /* header location */ 22 size_t numblks; /* size of header */ 23 xfs_btnum_t type; /* type of btree root block */ 24 }; 25 26 int xfs_ag_init_headers(struct xfs_mount *mp, struct aghdr_init_data *id); 27 int xfs_ag_extend_space(struct xfs_mount *mp, struct xfs_trans *tp, 28 struct aghdr_init_data *id, xfs_extlen_t len); 29 int xfs_ag_get_geometry(struct xfs_mount *mp, xfs_agnumber_t agno, 30 struct xfs_ag_geometry *ageo); 31 32 #endif /* __LIBXFS_AG_H */ 33