From: Harris, James R <james.r.harris at intel.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] Understanding io_channel
Date: Tue, 10 Oct 2017 21:04:37 +0000 [thread overview]
Message-ID: <7B4871DA-2818-4CC8-9784-D3EB693D798C@intel.com> (raw)
In-Reply-To: CALOt4iftS3Ag6zXJ5A=Z9PC6sBjmp54+zz6bMe_Qca=o-_NKcQ@mail.gmail.com
[-- Attachment #1: Type: text/plain, Size: 2313 bytes --]
> On Oct 10, 2017, at 1:53 PM, Fenggang Wu <fenggang(a)cs.umn.edu> wrote:
>
> Hi Jim,
>
> Thank you very much for the great answer! It makes perfect sense to me. This saves so much time.
>
>
> On Mon, Oct 9, 2017 at 7:04 PM Harris, James R <james.r.harris(a)intel.com> wrote:
> Hi Fenggang,
>
> > On Oct 9, 2017, at 12:04 PM, Fenggang Wu <fenggang(a)cs.umn.edu> wrote:
> >
> > Hi,
> >
> > I am new to SPDK and trying to develop an aggregated virtual block device module (vbdev_agg.c) that stripes across multiple base devices. I am having difficulty understanding
>
> Welcome to SPDK! An aggregated virtual block device module is interesting - will this do striping and/or concatenation?
>
> Current I am only considering striping. But I would expect an easy extension from striping to concatenation.
I think striping is the more interesting and common use case.
> <snip>
>
> Now I have learned from the nvme module and register my agg_disk struct as the void* io_device, or better named, the "unique pointer". Currenly, a space with a size of a array of io_channel pointers is allocated after the io_channel struct. The io_channels pointers of the base devices are kept in the array. They are got (get_io_channel(base_dev)) in the create_cb and put (put_io_channel(base_dev)) in the destroy_cb.
Yes - that sounds right.
>
>
> >
> > Any suggestions/hints will be appreciated. Thank you very much!
>
> If you would like to post your module to GerritHub, I’m sure you’d get some good review feedback from myself and others. Please note that this is a very active area of development right now. Your questions are really appreciated and will help us clarify where we need to improve on example code and documentation.
>
>
> Personally I would like to share it or even make some contribution to the community if possible. Yet I would have to double check with the industry partner supporting my project to see their opinions.
That would be fantastic. A striping module would be generally useful to SPDK. Plus if the module is contributed to SPDK, the SPDK project will make sure it gets tested automatically as part of the per-patch test suite to ensure against regressions. This might be important to your industry partner.
Thanks,
-Jim
next reply other threads:[~2017-10-10 21:04 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-10 21:04 Harris, James R [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-10-17 7:00 [SPDK] Understanding io_channel
2017-10-10 20:53 Fenggang Wu
2017-10-10 0:04 Harris, James R
2017-10-09 19:04 Fenggang Wu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7B4871DA-2818-4CC8-9784-D3EB693D798C@intel.com \
--to=spdk@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox