From: Jim Rees <rees@umich.edu>
To: Jeff Layton <jlayton@redhat.com>
Cc: Chuck Lever <chuck.lever@oracle.com>,
bfields@fieldses.org, steved@redhat.com,
linux-nfs@vger.kernel.org
Subject: Re: [PATCH v3 4/5] nfsd: add a header describing upcall to nfsdcld
Date: Thu, 22 Dec 2011 10:20:51 -0500 [thread overview]
Message-ID: <20111222152051.GA2500@umich.edu> (raw)
In-Reply-To: <20111222080706.7a064430@tlielax.poochiereds.net>
Jeff Layton wrote:
Now that I've started looking at actually implementing this, I'm
leaning toward keeping this as a packed binary struct. The upcalls to
which you refer mostly use the cache_* interfaces in the kernel, and
the actual upcall "pipes" are in /proc. That code is already set up to
use primarily text based interfaces so it makes sense there.
I looked at using that here and determined that the cache_* interface
was not well suited to this task. Those are geared toward interfaces
(like exportfs or mountd) where the information is primarily stored and
manipulated in userspace and the kernel upcalls to fetch that info and
populate its cache.
In this case, the info is mostly coming from kernel space originally
and I believe that rpc_pipefs was better suited for this task. The
upcalls that use rpc_pipefs almost universally use a binary struct to
pass data between userspace and the kernel.
Having recently added a new rpc_pipe upcall for idmapd, my only suggestion
is that you think about compatibility issues if the message format changes.
Ideally you want any combination of new/old * kernel/user to work. But I
suspect you've already thought about this.
I see no harm in using binary for an interface that's only intended for a
particular user daemon (assuming you solve the compatibility problem). Text
is useful for things in /proc that someone might want to manipulate using
their own tool. For something like idmapd I don't think a text interface is
necessary. No one is going to write their own idmapd, and if they do, the
binary upcall interface will be the least of their worries. The same may be
true of nfsdcld.
next prev parent reply other threads:[~2011-12-22 15:21 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-21 20:34 [PATCH v3 0/5] nfsd: overhaul the client name tracking code Jeff Layton
2011-12-21 20:34 ` [PATCH v3 1/5] nfsd: add nfsd4_client_tracking_ops struct and a way to set it Jeff Layton
2011-12-21 20:34 ` [PATCH v3 2/5] sunrpc: create nfsd dir in rpc_pipefs Jeff Layton
2011-12-21 20:34 ` [PATCH v3 3/5] nfsd: convert nfs4_client->cl_cb_flags to a generic flags field Jeff Layton
2011-12-21 20:34 ` [PATCH v3 4/5] nfsd: add a header describing upcall to nfsdcld Jeff Layton
2011-12-21 20:45 ` Chuck Lever
2011-12-21 21:33 ` Jeff Layton
2011-12-21 21:37 ` Chuck Lever
2011-12-21 21:48 ` Jeff Layton
2011-12-21 21:59 ` Jeff Layton
2011-12-21 22:04 ` Peter Staubach
2011-12-21 22:21 ` Chuck Lever
2011-12-21 22:31 ` Peter Staubach
2011-12-21 22:50 ` Chuck Lever
2011-12-21 22:27 ` Jeff Layton
2011-12-21 22:33 ` Peter Staubach
2011-12-22 1:04 ` Jeff Layton
2011-12-22 13:07 ` Jeff Layton
2011-12-22 15:20 ` Jim Rees [this message]
2011-12-22 15:23 ` Jim Rees
2011-12-22 18:07 ` J. Bruce Fields
2011-12-21 20:34 ` [PATCH v3 5/5] nfsd: add the infrastructure to handle the cld upcall Jeff Layton
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=20111222152051.GA2500@umich.edu \
--to=rees@umich.edu \
--cc=bfields@fieldses.org \
--cc=chuck.lever@oracle.com \
--cc=jlayton@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=steved@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).