Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

nvmet: Introduce get/set_feature controller operations

The implementation of some features cannot always be done generically by
the target core code. Arbitraion and IRQ coalescing features are
examples of such features: their implementation must be provided (at
least partially) by the target controller driver.

Introduce the set_feature() and get_feature() controller fabrics
operations (in struct nvmet_fabrics_ops) to allow supporting such
features.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Rick Wertenbroek <rick.wertenbroek@gmail.com>
Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Keith Busch <kbusch@kernel.org>

authored by

Damien Le Moal and committed by
Keith Busch
08461535 1ad8630f

+4
+4
drivers/nvme/target/nvmet.h
··· 416 416 u16 (*create_cq)(struct nvmet_ctrl *ctrl, u16 cqid, u16 flags, 417 417 u16 qsize, u64 prp1, u16 irq_vector); 418 418 u16 (*delete_cq)(struct nvmet_ctrl *ctrl, u16 cqid); 419 + u16 (*set_feature)(const struct nvmet_ctrl *ctrl, u8 feat, 420 + void *feat_data); 421 + u16 (*get_feature)(const struct nvmet_ctrl *ctrl, u8 feat, 422 + void *feat_data); 419 423 }; 420 424 421 425 #define NVMET_MAX_INLINE_BIOVEC 8