drivers/md/dm-vdo/indexer/index.h
Source file repositories/reference/linux-study-clean/drivers/md/dm-vdo/indexer/index.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/md/dm-vdo/indexer/index.h- Extension
.h- Size
- 2390 bytes
- Lines
- 84
- Domain
- Driver Families
- Bucket
- drivers/md
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
index-layout.hindex-session.hopen-chapter.hvolume.hvolume-index.h
Detected Declarations
struct index_zonestruct uds_indexenum request_stage
Annotated Snippet
struct index_zone {
struct uds_index *index;
struct open_chapter_zone *open_chapter;
struct open_chapter_zone *writing_chapter;
u64 oldest_virtual_chapter;
u64 newest_virtual_chapter;
unsigned int id;
};
struct uds_index {
bool has_saved_open_chapter;
bool need_to_save;
struct index_load_context *load_context;
struct index_layout *layout;
struct volume_index *volume_index;
struct volume *volume;
unsigned int zone_count;
struct index_zone **zones;
u64 oldest_virtual_chapter;
u64 newest_virtual_chapter;
u64 last_save;
u64 prev_save;
struct chapter_writer *chapter_writer;
index_callback_fn callback;
struct uds_request_queue *triage_queue;
struct uds_request_queue *zone_queues[] __counted_by(zone_count);
};
enum request_stage {
STAGE_TRIAGE,
STAGE_INDEX,
STAGE_MESSAGE,
};
int __must_check uds_make_index(struct uds_configuration *config,
enum uds_open_index_type open_type,
struct index_load_context *load_context,
index_callback_fn callback, struct uds_index **new_index);
int __must_check uds_save_index(struct uds_index *index);
void uds_free_index(struct uds_index *index);
int __must_check uds_replace_index_storage(struct uds_index *index,
struct block_device *bdev);
void uds_get_index_stats(struct uds_index *index, struct uds_index_stats *counters);
void uds_enqueue_request(struct uds_request *request, enum request_stage stage);
void uds_wait_for_idle_index(struct uds_index *index);
#endif /* UDS_INDEX_H */
Annotation
- Immediate include surface: `index-layout.h`, `index-session.h`, `open-chapter.h`, `volume.h`, `volume-index.h`.
- Detected declarations: `struct index_zone`, `struct uds_index`, `enum request_stage`.
- Atlas domain: Driver Families / drivers/md.
- Implementation status: source implementation candidate.
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.