fs/xfs/xfs_extfree_item.h
Source file repositories/reference/linux-study-clean/fs/xfs/xfs_extfree_item.h
File Facts
- System
- Linux kernel
- Corpus path
fs/xfs/xfs_extfree_item.h- Extension
.h- Size
- 3208 bytes
- Lines
- 101
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct xfs_mountstruct kmem_cachestruct xfs_efi_log_itemstruct xfs_efd_log_itemstruct xfs_extent_free_itemfunction xfs_efi_log_item_sizeoffunction xfs_efd_log_item_sizeof
Annotated Snippet
struct xfs_efi_log_item {
struct xfs_log_item efi_item;
atomic_t efi_refcount;
atomic_t efi_next_extent;
struct xfs_efi_log_format efi_format;
};
static inline size_t
xfs_efi_log_item_sizeof(
unsigned int nr)
{
return offsetof(struct xfs_efi_log_item, efi_format) +
xfs_efi_log_format_sizeof(nr);
}
/*
* This is the "extent free done" log item. It is used to log
* the fact that some extents earlier mentioned in an efi item
* have been freed.
*/
struct xfs_efd_log_item {
struct xfs_log_item efd_item;
struct xfs_efi_log_item *efd_efip;
uint efd_next_extent;
struct xfs_efd_log_format efd_format;
};
static inline size_t
xfs_efd_log_item_sizeof(
unsigned int nr)
{
return offsetof(struct xfs_efd_log_item, efd_format) +
xfs_efd_log_format_sizeof(nr);
}
/*
* Max number of extents in fast allocation path.
*/
#define XFS_EFD_MAX_FAST_EXTENTS 16
extern struct kmem_cache *xfs_efi_cache;
extern struct kmem_cache *xfs_efd_cache;
struct xfs_extent_free_item;
void xfs_extent_free_defer_add(struct xfs_trans *tp,
struct xfs_extent_free_item *xefi,
struct xfs_defer_pending **dfpp);
unsigned int xfs_efi_log_space(unsigned int nr);
unsigned int xfs_efd_log_space(unsigned int nr);
#endif /* __XFS_EXTFREE_ITEM_H__ */
Annotation
- Detected declarations: `struct xfs_mount`, `struct kmem_cache`, `struct xfs_efi_log_item`, `struct xfs_efd_log_item`, `struct xfs_extent_free_item`, `function xfs_efi_log_item_sizeof`, `function xfs_efd_log_item_sizeof`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.