drivers/nvme/target/core.c
Source file repositories/reference/linux-study-clean/drivers/nvme/target/core.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/nvme/target/core.c- Extension
.c- Size
- 49646 bytes
- Lines
- 2027
- Domain
- Representative Device Path
- Bucket
- PCIe NVMe Storage Path
- Inferred role
- Representative Device Path: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.
- Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/hex.hlinux/module.hlinux/random.hlinux/rculist.hlinux/pci-p2pdma.hlinux/scatterlist.hgenerated/utsrelease.htrace.hnvmet.hdebugfs.h
Detected Declarations
function errno_to_nvme_statusfunction nvmet_report_invalid_opcodefunction nvmet_copy_to_sglfunction nvmet_copy_from_sglfunction nvmet_zero_sglfunction nvmet_max_nsidfunction nvmet_async_event_resultfunction nvmet_async_events_failallfunction nvmet_async_events_processfunction nvmet_async_events_freefunction nvmet_async_event_workfunction nvmet_add_async_eventfunction nvmet_add_to_changed_ns_logfunction nvmet_ns_changedfunction list_for_each_entryfunction nvmet_send_ana_eventfunction nvmet_port_send_ana_eventfunction nvmet_register_transportfunction nvmet_unregister_transportfunction nvmet_port_del_ctrlsfunction nvmet_enable_portfunction nvmet_disable_portfunction nvmet_keep_alive_timerfunction nvmet_start_keep_alive_timerfunction nvmet_stop_keep_alive_timerfunction nvmet_req_find_nsfunction nvmet_destroy_namespacefunction nvmet_put_namespacefunction nvmet_ns_dev_disablefunction nvmet_p2pmem_ns_enablefunction nvmet_p2pmem_ns_add_p2pfunction nvmet_ns_revalidatefunction nvmet_ns_enablefunction nvmet_ns_disablefunction nvmet_ns_freefunction nvmet_update_sq_headfunction nvmet_set_errorfunction __nvmet_req_completefunction nvmet_req_completefunction nvmet_cq_initfunction nvmet_cq_getfunction nvmet_cq_putfunction nvmet_cq_setupfunction nvmet_cq_destroyfunction nvmet_sq_setupfunction nvmet_confirm_sqfunction nvmet_check_cqidfunction nvmet_check_io_cqid
Annotated Snippet
module_init(nvmet_init);
module_exit(nvmet_exit);
MODULE_DESCRIPTION("NVMe target core framework");
MODULE_LICENSE("GPL v2");
Annotation
- Immediate include surface: `linux/hex.h`, `linux/module.h`, `linux/random.h`, `linux/rculist.h`, `linux/pci-p2pdma.h`, `linux/scatterlist.h`, `generated/utsrelease.h`, `trace.h`.
- Detected declarations: `function errno_to_nvme_status`, `function nvmet_report_invalid_opcode`, `function nvmet_copy_to_sgl`, `function nvmet_copy_from_sgl`, `function nvmet_zero_sgl`, `function nvmet_max_nsid`, `function nvmet_async_event_result`, `function nvmet_async_events_failall`, `function nvmet_async_events_process`, `function nvmet_async_events_free`.
- Atlas domain: Representative Device Path / PCIe NVMe Storage Path.
- Implementation status: integration 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.