All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Bluemle <andreas.bluemle-jy6uzZffzV0b1SvskN2V4Q@public.gmane.org>
To: Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Sage Weil <sage-4GqslpFJ+cxBDgjK7y7TUQ@public.gmane.org>,
	"Kasper,
	Dieter" <dieter.kasper-RJz4owOZxyXQFUHtdCDX3A@public.gmane.org>
Subject: using rsockets via librspreload: poll() support?
Date: Thu, 8 Aug 2013 17:46:29 +0200	[thread overview]
Message-ID: <20130808174629.46b698cf@doppio> (raw)

Hi Sean,

I am currently testing rsockets in connection with ceph.
I am using LD_PRELOAD and the librspreload.so to force
the application (ceph) to use rsockets instead of regular
tcp/ip sockets.

All this works pretty well - until the point where an
established connection is shut down: this seems to not
work and never finishes (unless the application is killed...).

The way ceph uses sockets is in a nonblocking mode.
When reading from a socket, it polls the socket first
with an event mask of POLLIN and POLLRDHUP.

On the return from the poll() I see that
  - POLLIN and POLLHUP are set in the returned events
    (POLLRDHUP is *not* set)
  - errno is 95 (EOPNOTSUPP)

(The POLLHUP makes me believe that in this case the other
end has shutdown the socket already.)

The EOPNOTSUPP confuses ceph quite a bit and prevents it
from shutting down it's side of the socket connection properly.


Question: is it possible that the POLLRDHUP causes the
EOPNOTSUPP to be set by librspreload::poll() or
rpoll()?

Best Regards

Andreas Bluemle




-- 
Andreas Bluemle                     mailto:Andreas.Bluemle-jy6uzZffzV0b1SvskN2V4Q@public.gmane.org
ITXperts GmbH                       http://www.itxperts.de
Balanstrasse 73, Geb. 08            Phone: (+49) 89 89044917
D-81541 Muenchen (Germany)          Fax:   (+49) 89 89044910

Company details: http://www.itxperts.de/imprint.htm
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2013-08-08 15:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-08 15:46 Andreas Bluemle [this message]
2013-08-08 16:46 ` using rsockets via librspreload: poll() support? Hefty, Sean
2013-08-08 16:52 ` Andreas Bluemle
2013-08-08 16:58   ` Hefty, Sean

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=20130808174629.46b698cf@doppio \
    --to=andreas.bluemle-jy6uzzffzv0b1svskn2v4q@public.gmane.org \
    --cc=dieter.kasper-RJz4owOZxyXQFUHtdCDX3A@public.gmane.org \
    --cc=sage-4GqslpFJ+cxBDgjK7y7TUQ@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@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 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.