From: David Teigland <teigland@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] gfs uevent and sysfs changes
Date: Thu, 4 Dec 2008 16:38:20 -0600 [thread overview]
Message-ID: <20081204223820.GB19571@redhat.com> (raw)
In-Reply-To: <1d07ca700812041359i2fe5443by7ac229485ec36f71@mail.gmail.com>
On Thu, Dec 04, 2008 at 04:59:23PM -0500, david m. richter wrote:
> ah, so just to make sure i'm with you here: (1) gfs_controld is
> generating this "id"-which-is-the-mountgroup-id, and (2) gfs_kernel
> will no longer receive this in the hostdata string, so (3) i can just
> rip out my in-kernel hostdata-parsing gunk and instead send in the
> mountgroup id on my own (i have my own up/downcall channel)? if i've
> got it right, then everything's a cinch and i'll shut up :)
Yep. Generally, the best way to uniquely identify and refer to a gfs
filesystem is using the fsname string (specified during mkfs with -t and
saved in the superblock). But, sometimes it's just a lot easier have a
numerical identifier instead. I expect this is why you're using the id,
and it's why we were using it for communicating about plocks.
In cluster1 and cluster2 the cluster infrastructure dynamically selected a
unique id when needed, and it never worked great. In cluster3 the id is
just a crc of the fsname string.
Now that I think about this a bit more, there may be a reason to keep the
id in the string. There was some interest on linux-kernel about better
using the statfs fsid field, and this id is what gfs should be putting
there.
> say, one tangential question (i won't be offended if you skip it -
> heh): is there a particular reason that you folks went with the uevent
> mechanism for doing upcalls? i'm just curious, given the
> seeming-complexity and possible overhead of using the whole layered
> netlink apparatus vs. something like Trond Myklebust's rpc_pipefs
> (don't let the "rpc" fool you; it's a barebones, dead-simple pipe).
> -- and no, i'm not selling anything :) my boss was asking for a list
> of differences between rpc_pipefs and uevents and the best i could
> come up with is the former's bidirectional. Trond mentioned the
> netlink overhead and i wondered if that was actually a significant
> factor or just lost in the noise in most cases.
The uevents looked pretty simple when I was initially designing how the
kernel/user interactions would work, and they fit well with sysfs files
which I was using too. I don't think the overhead of using uevents is too
bad. Sysfs files and uevents definately don't work great if you need any
kind of sophisticated bi-directional interface.
Dave
next prev parent reply other threads:[~2008-12-04 22:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-01 17:31 [Cluster-devel] gfs uevent and sysfs changes David Teigland
2008-12-02 14:02 ` Steven Whitehouse
2008-12-04 18:32 ` david m. richter
2008-12-04 21:07 ` David Teigland
2008-12-04 21:59 ` david m. richter
2008-12-04 22:38 ` David Teigland [this message]
2008-12-05 9:51 ` Steven Whitehouse
2008-12-05 14:52 ` David Teigland
2008-12-05 15:03 ` David Teigland
2008-12-05 17:35 ` david m. richter
2008-12-05 17:31 ` david m. richter
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=20081204223820.GB19571@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.