// SPDX-License-Identifier: GPL-2.0 /* * Copyright (c) 2000,2005 Silicon Graphics, Inc. * All Rights Reserved.
*/ #ifndef __XFS_TRANS_SPACE_H__ #define __XFS_TRANS_SPACE_H__
/* * Components of space reservations.
*/
/* Worst case number of bmaps that can be held in a block. */ #define XFS_MAX_CONTIG_BMAPS_PER_BLOCK(mp) \
(((mp)->m_bmap_dmxr[0]) - ((mp)->m_bmap_dmnr[0]))
/* Worst case number of realtime rmaps that can be held in a block. */ #define XFS_MAX_CONTIG_RTRMAPS_PER_BLOCK(mp) \
(((mp)->m_rtrmap_mxr[0]) - ((mp)->m_rtrmap_mnr[0]))
/* Adding one realtime rmap could split every level to the top of the tree. */ #define XFS_RTRMAPADD_SPACE_RES(mp) ((mp)->m_rtrmap_maxlevels)
/* Blocks we might need to add "b" realtime rmaps to a tree. */ #define XFS_NRTRMAPADD_SPACE_RES(mp, b) \
((((b) + XFS_MAX_CONTIG_RTRMAPS_PER_BLOCK(mp) - 1) / \
XFS_MAX_CONTIG_RTRMAPS_PER_BLOCK(mp)) * \
XFS_RTRMAPADD_SPACE_RES(mp))
/* Worst case number of rmaps that can be held in a block. */ #define XFS_MAX_CONTIG_RMAPS_PER_BLOCK(mp) \
(((mp)->m_rmap_mxr[0]) - ((mp)->m_rmap_mnr[0]))
/* Adding one rmap could split every level up to the top of the tree. */ #define XFS_RMAPADD_SPACE_RES(mp) ((mp)->m_rmap_maxlevels)
/* * Note that we historically set m_rmap_maxlevels to 9 when reflink is enabled, * so we must preserve this behavior to avoid changing the transaction space * reservations and minimum log size calculations for existing filesystems.
*/ #define XFS_OLD_REFLINK_RMAP_MAXLEVELS 9
/* Blocks we might need to add "b" rmaps to a tree. */ #define XFS_NRMAPADD_SPACE_RES(mp, b)\
(((b + XFS_MAX_CONTIG_RMAPS_PER_BLOCK(mp) - 1) / \
XFS_MAX_CONTIG_RMAPS_PER_BLOCK(mp)) * \
XFS_RMAPADD_SPACE_RES(mp))
/* Blocks we might need to add "b" mappings & rmappings to a file. */ #define XFS_SWAP_RMAP_SPACE_RES(mp,b,w)\
(XFS_NEXTENTADD_SPACE_RES((mp), (b), (w)) + \
XFS_NRMAPADD_SPACE_RES((mp), (b)))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.