CEPH filesystem development
 help / color / mirror / Atom feed
From: Matt Benjamin <mbenjamin-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Yehuda Sadeh-Weinraub <ysadehwe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: Sage Weil <sweil-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	ceph-users <ceph-users-idqoXFIVOFJgJs9I8MT0rw@public.gmane.org>,
	ceph-devel <ceph-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Any librados C API users out there?
Date: Thu, 12 Jan 2017 17:14:18 -0500 (EST)	[thread overview]
Message-ID: <1347446993.88764846.1484259258638.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <CADRKj5RZOD1MuhC08n50VCWaj+qcKEOMEWtybEVcmHP3DSz+Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hi,

----- Original Message -----
> From: "Yehuda Sadeh-Weinraub" <ysadehwe@redhat.com>
> To: "Sage Weil" <sweil@redhat.com>
> Cc: "Gregory Farnum" <gfarnum@redhat.com>, "Jason Dillaman" <dillaman@redhat.com>, "Piotr Dałek"
> <piotr.dalek@corp.ovh.com>, "ceph-devel" <ceph-devel@vger.kernel.org>, "ceph-users" <ceph-users@lists.ceph.com>
> Sent: Thursday, January 12, 2017 3:22:06 PM
> Subject: Re: [ceph-users] Any librados C API users out there?
> 
> On Thu, Jan 12, 2017 at 12:08 PM, Sage Weil <sweil@redhat.com> wrote:
> > On Thu, 12 Jan 2017, Gregory Farnum wrote:
> >> On Thu, Jan 12, 2017 at 5:54 AM, Jason Dillaman <jdillama@redhat.com>
> >> wrote:
> >> > There is option (3) which is to have a new (or modified)
> >> > "buffer::create_static" take an optional callback to invoke when the
> >> > buffer::raw object is destructed. The raw pointer would be destructed
> >> > when the last buffer::ptr / buffer::list containing it is destructed,
> >> > so you know it's no longer being referenced.
> >> >
> >> > You could then have the new C API methods that wrap the C buffer in a
> >> > bufferlist and set a new flag in the librados::AioCompletion to delay
> >> > its completion until after it's both completed and the memory is
> >> > released. When the buffer is freed, the callback would unblock the
> >> > librados::AioCompltion completion callback.
> >>
> >> I much prefer an approach like this: it's zero-copy; it's not a lot of
> >> user overhead; but it requires them to explicitly pass memory off to
> >> Ceph and keep it immutable until Ceph is done (at which point they are
> >> told so explicitly).
> >
> > Yeah, this is simpler.  I still feel like we should provide a way to
> > revoke buffers, though, because otherwise it's possible for calls to block
> > semi-indefinitey if, say, an old MOSDOp is quueed for another OSD and that
> > OSD is not reading data off the socket but has not failed (e.g., due to
> > it's rx throttling).
> >
> 
> We need to provide some way to cancel requests (at least from the
> client's aspect), that would guarantee that buffers are not going to
> be used (and no completion callback is going to be called).

is the client/consumer cancellation async wrt completion?  a cancellation in that case could ensure that, if it succeeds, those guarantees are met, or else fails (because the callback and completion have raced cancellation)?

Matt

> 
> Yehuda
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 
Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-821-5101
fax.  734-769-8938
cel.  734-216-5309
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

  parent reply	other threads:[~2017-01-12 22:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-11 16:44 Any librados C API users out there? Piotr Dałek
     [not found] ` <8d5e71b7-c0f2-0f6f-b38e-03e72f441051-Rm6v+N6rxxBWk0Htik3J/w@public.gmane.org>
2017-01-11 17:37   ` Jason Dillaman
2017-01-11 17:42     ` [ceph-users] " Samuel Just
2017-01-11 17:46       ` Jason Dillaman
     [not found]     ` <CA+aFP1B5K-cCcTmp5k4PrfRLFP3=eoVwZk4Fqa=NGd4ZhBGJWg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-11 18:01       ` Sage Weil
     [not found]         ` <alpine.DEB.2.11.1701111755260.5745-qHenpvqtifaMSRpgCs4c+g@public.gmane.org>
2017-01-11 18:08           ` Jason Dillaman
2017-01-12  9:19         ` [ceph-users] " Piotr Dałek
     [not found]           ` <e0e85f8a-5f78-e652-9838-5aae2ef97d14-Rm6v+N6rxxBWk0Htik3J/w@public.gmane.org>
2017-01-12 13:48             ` Sage Weil
     [not found]               ` <alpine.DEB.2.11.1701121344270.5745-qHenpvqtifaMSRpgCs4c+g@public.gmane.org>
2017-01-12 13:54                 ` Jason Dillaman
     [not found]                   ` <CA+aFP1Akuxx5XndUqV=-DmMb3AqwOaK+O9VESKUjpm7Goy5Hvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-12 19:13                     ` Gregory Farnum
     [not found]                       ` <CAJ4mKGb4T8r2adVZHnboQpr=0_t+FkM4y7kjvnBo0gvquyQ9rQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-12 20:08                         ` Sage Weil
2017-01-12 20:22                           ` [ceph-users] " Yehuda Sadeh-Weinraub
     [not found]                             ` <CADRKj5RZOD1MuhC08n50VCWaj+qcKEOMEWtybEVcmHP3DSz+Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-12 20:34                               ` Sage Weil
2017-01-12 22:14                               ` Matt Benjamin [this message]
2017-01-12 22:32                                 ` [ceph-users] " Yehuda Sadeh-Weinraub

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=1347446993.88764846.1484259258638.JavaMail.zimbra@redhat.com \
    --to=mbenjamin-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=ceph-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ceph-users-idqoXFIVOFJgJs9I8MT0rw@public.gmane.org \
    --cc=sweil-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=ysadehwe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.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