/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright ( c ) 2020 - 2024 Oracle . All Rights Reserved .
* Author : Darrick J . Wong < djwong @ kernel . org >
*/
#ifndef __XFS_EXCHMAPS_ITEM_H__
#define __XFS_EXCHMAPS_ITEM_H__
/*
* The file mapping exchange intent item helps us exchange multiple file
* mappings between two inode forks . It does this by tracking the range of
* file block offsets that still need to be exchanged , and relogs as progress
* happens .
*
* * I items should be recorded in the * first * of a series of rolled
* transactions , and the * D items should be recorded in the same transaction
* that records the associated bmbt updates .
*
* Should the system crash after the commit of the first transaction but
* before the commit of the final transaction in a series , log recovery will
* use the redo information recorded by the intent items to replay the
* rest of the mapping exchanges .
*/
/* kernel only XMI/XMD definitions */
struct xfs_mount;
struct kmem_cache;
/*
* This is the incore file mapping exchange intent log item . It is used to log
* the fact that we are exchanging mappings between two files . It is used in
* conjunction with the incore file mapping exchange done log item described
* below .
*
* These log items follow the same rules as struct xfs_efi_log_item ; see the
* comments about that structure ( in xfs_extfree_item . h ) for more details .
*/
struct xfs_xmi_log_item {
struct xfs_log_item xmi_item;
atomic_t xmi_refcount;
struct xfs_xmi_log_format xmi_format;
};
/*
* This is the incore file mapping exchange done log item . It is used to log
* the fact that an exchange mentioned in an earlier xmi item have been
* performed .
*/
struct xfs_xmd_log_item {
struct xfs_log_item xmd_item;
struct xfs_xmi_log_item *xmd_intent_log_item;
struct xfs_xmd_log_format xmd_format;
};
extern struct kmem_cache *xfs_xmi_cache;
extern struct kmem_cache *xfs_xmd_cache;
struct xfs_exchmaps_intent;
void xfs_exchmaps_defer_add(struct xfs_trans *tp,
struct xfs_exchmaps_intent *xmi);
#endif /* __XFS_EXCHMAPS_ITEM_H__ */
Messung V0.5 in Prozent C=90 H=100 G=95
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-09-27)
¤
*© Formatika GbR, Deutschland