brintos

brintos / linux-shallow public Read only

0
0
Text · 1021 B · f247eef Raw
37 lines · 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__ */37