File Index
Files and directories
Sign in
FILE

xfs_ag_resv.h

File preview with syntax highlighting.

linux-6.19.14/fs/xfs/libxfs/xfs_ag_resv.h C
 1/* SPDX-License-Identifier: GPL-2.0+ */
 2/*
 3 * Copyright (C) 2016 Oracle.  All Rights Reserved.
 4 * Author: Darrick J. Wong <darrick.wong@oracle.com>
 5 */
 6#ifndef __XFS_AG_RESV_H__
 7#define	__XFS_AG_RESV_H__
 8
 9void xfs_ag_resv_free(struct xfs_perag *pag);
10int xfs_ag_resv_init(struct xfs_perag *pag, struct xfs_trans *tp);
11
12bool xfs_ag_resv_critical(struct xfs_perag *pag, enum xfs_ag_resv_type type);
13xfs_extlen_t xfs_ag_resv_needed(struct xfs_perag *pag,
14		enum xfs_ag_resv_type type);
15
16void xfs_ag_resv_alloc_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
17		struct xfs_alloc_arg *args);
18void xfs_ag_resv_free_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
19		struct xfs_trans *tp, xfs_extlen_t len);
20
21static inline struct xfs_ag_resv *
22xfs_perag_resv(
23	struct xfs_perag	*pag,
24	enum xfs_ag_resv_type	type)
25{
26	switch (type) {
27	case XFS_AG_RESV_METADATA:
28		return &pag->pag_meta_resv;
29	case XFS_AG_RESV_RMAPBT:
30		return &pag->pag_rmapbt_resv;
31	default:
32		return NULL;
33	}
34}
35
36#endif	/* __XFS_AG_RESV_H__ */
~/ Read-only file preview.