From: Jeff Layton <jlayton@redhat.com>
To: Mi Jinlong <mijinlong@cn.fujitsu.com>
Cc: "Trond.Myklebust" <trond.myklebust@fys.uio.no>,
"J. Bruce Fields" <bfields@fieldses.org>,
Chuck Lever <chuck.lever@oracle.com>,
NFSv3 list <linux-nfs@vger.kernel.org>
Subject: Re: [RFC] After nfs restart, locks can't be recovered which record by lockd before
Date: Wed, 13 Jan 2010 07:51:55 -0500 [thread overview]
Message-ID: <20100113075155.5c409567@barsoom.rdu.redhat.com> (raw)
In-Reply-To: <4B4D979D.6090307@cn.fujitsu.com>
On Wed, 13 Jan 2010 17:51:25 +0800
Mi Jinlong <mijinlong@cn.fujitsu.com> wrote:
> Hi,
>=20
> When testing the nfs's lock at NFSv3, I get a problem.
> So I want someone help me, thanks!
>=20
> Test Process:
> Step1, ClientA get an exclusive lock success.
> Step2, Using command "service nfs restart" to restart server's nfs =
service.
"service nfs restart" on an RH-derived distro is the same as running
"/etc/init.d/nfs restart". Init scripts vary between distros (and even
between releases on the same distro). Since you're asking this in a
more generic forum, you should probably be specific about what's
actually being restarted (and in what order). Understanding that may
also help you answer your own question here.
> Step3. ClientB get lock should fail, but success.
>=20
> I think after step2 (nfs service restart), clientA's lock should be r=
ecovered.
> But like above, clientA's lock doesn=E2=80=99t be recovered.
>=20
> When tracing the kernel, I find nfsd will cause lockd stop when it st=
op.
> When lockd stop, all locks will be release which is record before at =
lockd.
>=20
> When nfsd start, the lockd will start also, but the statd don't know =
what happened
> at kernel, so after that, locks will be lost.
>=20
> Is it right when nfs stop, the lockd will stop too?=20
> If it's right, should locks be recovered after lockd start?
>=20
Assuming you're using a RH-derived distro like Fedora or RHEL, then no.
statd is controlled by a separate init script (nfslock) and when you
run "service nfs restart" you're not restarting it. NSM notifications
are not sent and clients generally won't reclaim their locks.
IOW, "you're doing it wrong". If you want locks to be reclaimed then
you probably need to restart the nfslock service too.
--=20
Jeff Layton <jlayton@redhat.com>
next prev parent reply other threads:[~2010-01-13 12:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-13 9:51 [RFC] After nfs restart, locks can't be recovered which record by lockd before Mi Jinlong
2010-01-13 12:51 ` Jeff Layton [this message]
[not found] ` <20100113075155.5c409567-xSBYVWDuneFaJnirhKH9O4GKTjYczspe@public.gmane.org>
2010-01-13 18:53 ` Chuck Lever
2010-01-14 10:06 ` Mi Jinlong
2010-01-14 16:13 ` Chuck Lever
2010-01-15 9:35 ` Mi Jinlong
2010-01-15 16:12 ` Chuck Lever
2010-01-18 10:51 ` Mi Jinlong
2010-01-18 16:17 ` Chuck Lever
2010-01-19 10:36 ` Mi Jinlong
2010-01-14 9:41 ` Mi Jinlong
2010-01-14 12:10 ` Jeff Layton
[not found] ` <20100114071036.09583f4a-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2010-01-15 9:28 ` Mi Jinlong
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=20100113075155.5c409567@barsoom.rdu.redhat.com \
--to=jlayton@redhat.com \
--cc=bfields@fieldses.org \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@vger.kernel.org \
--cc=mijinlong@cn.fujitsu.com \
--cc=trond.myklebust@fys.uio.no \
/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