Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/fs/xfs/libxfs/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  xfs_refcount_btree.h   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2016 Oracle.  All Rights Reserved.
 * Author: Darrick J. Wong <darrick.wong@oracle.com>
 */

#ifndef __XFS_REFCOUNT_BTREE_H__
#define __XFS_REFCOUNT_BTREE_H__

/*
 * Reference Count Btree on-disk structures
 */


struct xfs_buf;
struct xfs_btree_cur;
struct xfs_mount;
struct xfs_perag;
struct xbtree_afakeroot;

/*
 * Btree block header size
 */

#define XFS_REFCOUNT_BLOCK_LEN XFS_BTREE_SBLOCK_CRC_LEN

/*
 * Record, key, and pointer address macros for btree blocks.
 *
 * (note that some of these may appear unused, but they are used in userspace)
 */

#define XFS_REFCOUNT_REC_ADDR(block, index) \
 ((struct xfs_refcount_rec *) \
  ((char *)(block) + \
   XFS_REFCOUNT_BLOCK_LEN + \
   (((index) - 1) * sizeof(struct xfs_refcount_rec))))

#define XFS_REFCOUNT_KEY_ADDR(block, index) \
 ((struct xfs_refcount_key *) \
  ((char *)(block) + \
   XFS_REFCOUNT_BLOCK_LEN + \
   ((index) - 1) * sizeof(struct xfs_refcount_key)))

#define XFS_REFCOUNT_PTR_ADDR(block, index, maxrecs) \
 ((xfs_refcount_ptr_t *) \
  ((char *)(block) + \
   XFS_REFCOUNT_BLOCK_LEN + \
   (maxrecs) * sizeof(struct xfs_refcount_key) + \
   ((index) - 1) * sizeof(xfs_refcount_ptr_t)))

extern struct xfs_btree_cur *xfs_refcountbt_init_cursor(struct xfs_mount *mp,
  struct xfs_trans *tp, struct xfs_buf *agbp,
  struct xfs_perag *pag);
unsigned int xfs_refcountbt_maxrecs(struct xfs_mount *mp, unsigned int blocklen,
  bool leaf);
extern void xfs_refcountbt_compute_maxlevels(struct xfs_mount *mp);

extern xfs_extlen_t xfs_refcountbt_calc_size(struct xfs_mount *mp,
  unsigned long long len);
extern xfs_extlen_t xfs_refcountbt_max_size(struct xfs_mount *mp,
  xfs_agblock_t agblocks);

extern int xfs_refcountbt_calc_reserves(struct xfs_mount *mp,
  struct xfs_trans *tp, struct xfs_perag *pag, xfs_extlen_t *ask,
  xfs_extlen_t *used);

void xfs_refcountbt_commit_staged_btree(struct xfs_btree_cur *cur,
  struct xfs_trans *tp, struct xfs_buf *agbp);

unsigned int xfs_refcountbt_maxlevels_ondisk(void);

int __init xfs_refcountbt_init_cur_cache(void);
void xfs_refcountbt_destroy_cur_cache(void);

#endif /* __XFS_REFCOUNT_BTREE_H__ */

Messung V0.5
C=81 H=97 G=89

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.