All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: steved@redhat.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 1/4] nfs-utils: introduce new statd implementation (1st part)
Date: Wed, 5 Aug 2009 14:15:45 -0400	[thread overview]
Message-ID: <20090805181545.GF9944@fieldses.org> (raw)
In-Reply-To: <DBAD3130-0633-414A-914B-CC2F15ABB219@oracle.com>

On Wed, Aug 05, 2009 at 02:05:44PM -0400, Chuck Lever wrote:
> On Aug 5, 2009, at 1:48 PM, J. Bruce Fields wrote:
>> On Wed, Aug 05, 2009 at 10:45:40AM -0400, Chuck Lever wrote:
>>> Provide a new implementation of statd that supports IPv6.  The new
>>> statd implementation resides under
>>>
>>>  utils/new-statd/
>>>
>>> The contents of this directory are built if --enable-tirpc is set
>>> on the ./configure command line, and sqlite3 is available on the
>>> build system.  Otherwise, the legacy version of statd, which still
>>> resides under utils/statd/, is built.
>>>
>>> The goals of this re-write are:
>>>
>>> o Support IPv6 networking
>>>
>>>   Support interoperation with TI-RPC-based NSM implementations.
>>>   Transport Independent RPC, or TI-RPC, provides IPv6 network support
>>>   for Linux's NSM implementation.
>>>
>>>   To support TI-RPC, open code to construct RPC requests in socket
>>>   buffers and then schedule them has been replaced with standard
>>>   library calls.
>>>
>>> o Support notification via TCP
>>>
>>>   As a secondary benefit of using TI-RPC library calls, reboot
>>>   notifications and NLM callbacks can now be sent via connection-
>>>   oriented transport protocols.
>>>
>>>   Note that lockd does not (yet) tell statd what transport protocol
>>>   to use when sending reboot notifications.  statd/sm-notify will
>>>   continue to use UDP for the time being.
>>>
>>> o Use an embedded database for storing on-disk callback data
>>>
>>>   This whole exercise is for the purpose of crash robustness.  There
>>>   are well-known deficiencies with simple create/rename/unlink
>>>   disk storage schemes during system crashes.  Replace the current
>>>   flat-file monitor list mechanism which uses sync(2) with sqlite3,
>>>   which uses fsync(3).
>>
>> If someone wants to move around that data, is it still simple to do
>> that?  (Where is it kept on the filesystem?)
>>
>> (I'm thinking of someone that shares it for high-availabity, as in:
>>
>> 	http://www.howtoforge.com/high_availability_nfs_drbd_heartbeat_p3
>>
>> Or maybe somebody that just needs to move their /var partition to a
>> different disk one day.)
>
> Statd's monitor lists and state number are stored in a single regular  
> file, /var/lib/nfs/statd/statdb by default.  This file can be easily  
> backed up, or used on other systems, if desired.  I would recommend  
> ensuring the NSM state number is reset in the latter case, which can be 
> done with the sqlite3 command.
>
> I've had some dialog with Lon Hohberger about clustering requirements.  I 
> think we are looking at crafting a separate utility that uses sqlite3 C 
> function calls to extract data that's interesting to the clustering 
> implementation.  Again, this could even be scripted with bash and the 
> sqlite3 command, but perhaps a C program is more maintainable.

OK, good.

And for the simplest cases, it should still be enough to just copy
/var/lib/nfs/, right?

--b.

  reply	other threads:[~2009-08-05 18:15 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-05 14:45 [PATCH 0/4] new statd [take 2] Chuck Lever
     [not found] ` <20090805143550.12866.8377.stgit-RytpoXr2tKZ9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2009-08-05 14:45   ` [PATCH 1/4] nfs-utils: introduce new statd implementation (1st part) Chuck Lever
     [not found]     ` <20090805144540.12866.22084.stgit-RytpoXr2tKZ9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2009-08-05 17:48       ` J. Bruce Fields
2009-08-05 18:05         ` Chuck Lever
2009-08-05 18:15           ` J. Bruce Fields [this message]
2009-08-05 18:26             ` Chuck Lever
2009-08-05 21:22               ` Trond Myklebust
     [not found]                 ` <1249507356.5428.11.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-08-05 22:24                   ` Chuck Lever
2009-08-05 23:30                     ` Trond Myklebust
2009-09-09 18:29                       ` Jeff Layton
     [not found]                         ` <20090909142945.755da393-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2009-09-09 18:39                           ` Trond Myklebust
2009-09-09 19:13                             ` Jeff Layton
     [not found]                               ` <20090909151354.504ccdf6-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2009-09-09 19:19                                 ` Chuck Lever
2009-09-09 19:17                             ` Chuck Lever
2009-09-09 19:42                               ` Trond Myklebust
2009-09-09 22:18                                 ` Chuck Lever
2009-09-09 23:15                                   ` Steve Dickson
2009-09-10 15:01                                     ` Chuck Lever
2009-09-10  8:44                                   ` NeilBrown
2009-09-10 14:09                                     ` Chuck Lever
2009-09-14  7:08                                       ` Neil Brown
     [not found]                                         ` <19117.60405.793389.323010-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-09-14 15:48                                           ` Steve Dickson
2009-09-15  2:45                                         ` Chuck Lever
2009-09-14 13:54                                       ` Trond Myklebust
     [not found]                                         ` <1252936467.6866.54.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-09-14 15:55                                           ` Steve Dickson
2009-09-15  1:29                                         ` Chuck Lever
     [not found]                                     ` <9eae93545189a6be6eebe0460b860fc7.squirrel-eq65iwfR9nKIECXXMXunQA@public.gmane.org>
2009-09-10 15:05                                       ` bpm
2009-09-10 15:03                                   ` J. Bruce Fields
2009-09-10 16:14                                     ` Chuck Lever
2009-09-10 16:23                                       ` J. Bruce Fields
2009-09-10 16:43                                         ` Trond Myklebust
2009-09-10 20:39                                         ` Chuck Lever
2009-09-10 20:49                                           ` J. Bruce Fields
2009-09-10 21:26                                             ` Chuck Lever
2009-08-05 14:45   ` [PATCH 2/4] nfs-utils: introduce new statd implementation (2nd part) Chuck Lever
2009-08-05 14:46   ` [PATCH 3/4] nfs-utils: introduce new statd implementation (3rd part) Chuck Lever
2009-08-05 14:46   ` [PATCH 4/4] nfs-utils: introduce new statd implementation (4th part) Chuck Lever
2009-08-05 17:15   ` [PATCH 0/4] new statd [take 2] Jeff Layton
     [not found]     ` <20090805131554.67eb15bc-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2009-08-05 18:06       ` Chuck Lever

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=20090805181545.GF9944@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=chuck.lever@oracle.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 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.