All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Teigland <teigland@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] DLM + SCTP bug (was Re: [DRBD-user] kernel panic with DRBD: solved)
Date: Mon, 12 Sep 2011 14:00:33 -0400	[thread overview]
Message-ID: <20110912180033.GB5397@redhat.com> (raw)
In-Reply-To: <4E6E3EE1.6020405@redhat.com>

> >> When node A starts back up, the SCTP protocol notices this (as it?s
> >> supposed to), and delivers an SCTP_ASSOC_CHANGE / SCTP_RESTART
> >> notification to the SCTP socket, telling the socket owner (the dlm_recv
> >> thread) that the other node has restarted.  DLM responds by telling SCTP
> >> to create a clone of the master socket, for use in communicating with
> >> the newly restarted node.  (This is an SCTP_SOCKOPT_PEELOFF request.) 
> >> And this is where things go wrong: the SCTP_SOCKOPT_PEELOFF request is
> >> designed to be called from user space, not from a kernel thread, and so
> >> it /does/ allocate a file descriptor for the new socket.  Since DLM is
> >> calling it from a kernel thread, the kernel thread now has an open file
> >> descriptor (#0) to that socket.  And since kernel threads share the same
> >> file descriptor, every kernel thread on the system has this open
> >> descriptor.  So defect #1 is that DLM is calling an SCTP user-space
> >> interface from a kernel thread, which results in pollution of the kernel
> >> thread file descriptor table.

Thanks for that analysis.  As you point out, SCTP is only ever really used
or tested from user space, not from the kernel like the dlm does.  So I'm
not surprised to hear about problems like this.  I don't know how
difficult it might be to fix that.  I'd also expect to find other problems
like it with dlm+sctp.  Some experienced time and attention is probably
needed to move the dlm's sctp support beyond experimental.

Dave



      reply	other threads:[~2011-09-12 18:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3D45CC2FAB0DF644BA2377554659F874034C05@G4W3297.americas.hpqcorp.net>
     [not found] ` <4E6E36C9.9070401@gmx.net>
2011-09-12 17:18   ` [Cluster-devel] DLM + SCTP bug (was Re: [DRBD-user] kernel panic with DRBD: solved) Fabio M. Di Nitto
2011-09-12 18:00     ` David Teigland [this message]

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=20110912180033.GB5397@redhat.com \
    --to=teigland@redhat.com \
    /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.