blob: 5166322807e7735aa7fbd2e9c39845cf331d2f6e [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* 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
10struct xfs_mount;
11struct xfs_trans;
12
13struct 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
26int xfs_ag_init_headers(struct xfs_mount *mp, struct aghdr_init_data *id);
27int xfs_ag_extend_space(struct xfs_mount *mp, struct xfs_trans *tp,
28 struct aghdr_init_data *id, xfs_extlen_t len);
David Brazdil0f672f62019-12-10 10:32:29 +000029int xfs_ag_get_geometry(struct xfs_mount *mp, xfs_agnumber_t agno,
30 struct xfs_ag_geometry *ageo);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000031
32#endif /* __LIBXFS_AG_H */