[LSF/MM/BPF TOPIC] Enhancing NVMe target
Hannes Reinecke
hare at suse.de
Fri Mar 21 00:43:16 PDT 2025
Hi all,
There are quite some features in the NVMe spec which are geared up for
distributed environments (eg the entire CDC mechanism, exported
subsystems in NVMe 2.1), which require quite some logic in the discvoery
and NVM target subsystem.
While this can (and arguably should) be implemented in userspace
(cf my 'nofuse' project [1]), I really would want to continue using the
existing nvme target infrastructure for handling the actual I/O.
But currently the nvme target infrastructure is pretty much stand-alone,
and provides as the only 'hook' to integrate with other systems the
'referral' configuration for the discovery log page.
I would like to discuss how an integration with user-space tools could
work; offloading the entire admin queue handling via eg io_uring?
eBPF struct ops hooks to modify response data?
Others?
Not forgetting the initial goal of nvme target as the minimal viable
implementation, so of course we might decide to not modify the target at
all. Which naturally I would find disappointing :-)
[1] https://github.com/hreinecke/nofuse
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich
More information about the Linux-nvme
mailing list