All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [SPDK] BDEV & VBDEV
@ 2016-10-22  4:51 Kumaraparameshwaran Rathnavel
  0 siblings, 0 replies; 5+ messages in thread
From: Kumaraparameshwaran Rathnavel @ 2016-10-22  4:51 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1368 bytes --]

My doubt is that we have malloc drives as virtual subsystem . So from NVMe initiator can I send read n write commands and does the current implementation of SPDK handle the commands and do the the I/O operations 

Thanking you 
Param

Sent from my iPhone

> On 21-Oct-2016, at 11:54 PM, Daniel Verkamp <daniel.verkamp(a)intel.com> wrote:
> 
>> On 10/21/2016 10:59 AM, Kumaraparameshwaran Rathnavel wrote:
>> Thanks Daniel.  So in the virtual subsystem the example in the tree is malloc devices.  So instead of that I can create my own subsystem like malloc devices right. Is there support for virtual subsystem from end to end . Say that when I get a read command from kernel initiator the SPDK reads the data n then sends it back to the initiator
>> 
>> Thanking you,
>> Param
> 
> The nvmf_tgt "Virtual" mode (use bdevs as namespaces) is an alternative to "Direct" mode (expose hardware NVMe device directly).  It is unrelated to the virtual blockdev layering mechanism.  Any blockdev (regular bdev or vbdev) can be used as a namespace in nvmf_tgt Virtual mode.
> 
> I'm not sure if I understand the rest of the question - can you elaborate on what you are trying to accomplish?
> 
> Thanks,
> -- Daniel
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [SPDK] BDEV & VBDEV
@ 2016-10-21 18:24 Daniel Verkamp
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Verkamp @ 2016-10-21 18:24 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 863 bytes --]

On 10/21/2016 10:59 AM, Kumaraparameshwaran Rathnavel wrote:
> Thanks Daniel.  So in the virtual subsystem the example in the tree is malloc devices.  So instead of that I can create my own subsystem like malloc devices right. Is there support for virtual subsystem from end to end . Say that when I get a read command from kernel initiator the SPDK reads the data n then sends it back to the initiator
>
> Thanking you,
> Param

The nvmf_tgt "Virtual" mode (use bdevs as namespaces) is an alternative 
to "Direct" mode (expose hardware NVMe device directly).  It is 
unrelated to the virtual blockdev layering mechanism.  Any blockdev 
(regular bdev or vbdev) can be used as a namespace in nvmf_tgt Virtual mode.

I'm not sure if I understand the rest of the question - can you 
elaborate on what you are trying to accomplish?

Thanks,
-- Daniel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [SPDK] BDEV & VBDEV
@ 2016-10-21 17:59 Kumaraparameshwaran Rathnavel
  0 siblings, 0 replies; 5+ messages in thread
From: Kumaraparameshwaran Rathnavel @ 2016-10-21 17:59 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1706 bytes --]

Thanks Daniel.  So in the virtual subsystem the example in the tree is malloc devices.  So instead of that I can create my own subsystem like malloc devices right. Is there support for virtual subsystem from end to end . Say that when I get a read command from kernel initiator the SPDK reads the data n then sends it back to the initiator 

Thanking you, 
Param

Sent from my iPhone

> On 21-Oct-2016, at 11:18 PM, Daniel Verkamp <daniel.verkamp(a)intel.com> wrote:
> 
>> On 10/21/2016 06:31 AM, Kumaraparameshwaran Rathnavel wrote:
>> Hi Guys,
>> 
>> What is the difference between BDEV and VBDEV ?
>> 
>> Thanking You,
>> Param
> 
> Hi Param,
> 
> Regular bdevs expose raw block devices (NVMe namespaces, kernel block devices via libaio, etc.). They typically interface with a hardware device that needs to be polled periodically to check for completions.
> 
> A vbdev is a "virtual blockdev" that consumes one or more bdevs and produces another set of bdevs.  A vbdev can process each I/O and decide what to do with it - for example, it could send each I/O to an underlying bdev, or split a single request into multiple I/Os to several different bdevs to implement features like RAID, or even encrypt writes and decrypt reads to add a disk encryption layer.
> 
> We don't have any vbdev examples in the tree currently, but we plan to add an example vbdev that will read partition tables from a disk and expose each partition as another bdev that can be exposed as an iSCSI LUN or NVMe over Fabrics namespace.
> 
> Thanks,
> -- Daniel
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [SPDK] BDEV & VBDEV
@ 2016-10-21 17:48 Daniel Verkamp
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Verkamp @ 2016-10-21 17:48 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1073 bytes --]

On 10/21/2016 06:31 AM, Kumaraparameshwaran Rathnavel wrote:
> Hi Guys,
>
> What is the difference between BDEV and VBDEV ?
>
> Thanking You,
> Param

Hi Param,

Regular bdevs expose raw block devices (NVMe namespaces, kernel block 
devices via libaio, etc.). They typically interface with a hardware 
device that needs to be polled periodically to check for completions.

A vbdev is a "virtual blockdev" that consumes one or more bdevs and 
produces another set of bdevs.  A vbdev can process each I/O and decide 
what to do with it - for example, it could send each I/O to an 
underlying bdev, or split a single request into multiple I/Os to several 
different bdevs to implement features like RAID, or even encrypt writes 
and decrypt reads to add a disk encryption layer.

We don't have any vbdev examples in the tree currently, but we plan to 
add an example vbdev that will read partition tables from a disk and 
expose each partition as another bdev that can be exposed as an iSCSI 
LUN or NVMe over Fabrics namespace.

Thanks,
-- Daniel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [SPDK] BDEV & VBDEV
@ 2016-10-21 13:31 Kumaraparameshwaran Rathnavel
  0 siblings, 0 replies; 5+ messages in thread
From: Kumaraparameshwaran Rathnavel @ 2016-10-21 13:31 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 87 bytes --]

Hi Guys,

What is the difference between BDEV and VBDEV ? 

Thanking You,
Param 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-10-22  4:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-22  4:51 [SPDK] BDEV & VBDEV Kumaraparameshwaran Rathnavel
  -- strict thread matches above, loose matches on Subject: below --
2016-10-21 18:24 Daniel Verkamp
2016-10-21 17:59 Kumaraparameshwaran Rathnavel
2016-10-21 17:48 Daniel Verkamp
2016-10-21 13:31 Kumaraparameshwaran Rathnavel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.