| Submitter | Rich Dubielzig |
|---|---|
| Date | Feb. 25, 2013, 6:44 p.m. |
| Message ID | <1361817899-22185-1-git-send-email-rich.dubielzig@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/45049/ |
| State | New |
| Headers | show |
Comments
On 02/25/2013 10:44 AM, Rich Dubielzig wrote: > When the /var/lib/nfs/v4recovery directory is not present, NFSD cannot > record the upcall state and cannot end the 90-second grace period on > startup. This is true even when NFS4 is not being served according to > nfsstat. > > More details and discussion here: > https://lkml.org/lkml/2012/6/11/206 > > Signed-off-by: Rich Dubielzig <rich.dubielzig@windriver.com> > --- > .../nfs-utils/nfs-utils_1.2.3.bb | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb > index 84c4464..a0b2399 100644 > --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb > +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb > @@ -12,7 +12,7 @@ DEPENDS = "libcap libnfsidmap libevent util-linux tcp-wrappers" > RDEPENDS_${PN} = "rpcbind" > RRECOMMENDS_${PN} = "kernel-module-nfsd" > > -PR = "r4" > +PR = "r5" > > SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.bz2 \ > file://nfs-utils-1.0.6-uclibc.patch \ > @@ -58,4 +58,7 @@ do_install_append () { > rm -f ${D}${sbindir}/rpcdebug > rm -f ${D}${sbindir}/rpcgen > rm -f ${D}${sbindir}/locktest > + > + # needed to allow NFSD to end its grace period > + install -d ${D}/var/lib/nfs/v4recovery This should really use ${localstatedir} instead of var, it would also be better to co-locate this with the other directory creations earlier in the do_install_append(). Sau! > } >
I can make this change, but if ${localstatedir} ends up being different than /var it would not be consistent with current kernel code which hardcodes the path "/var/lib/nfs/v4recovery" by default in fs/nfsd/nfs4recover.c
http://lxr.linux.no/#linux+v3.8/fs/nfsd/nfs4recover.c
-Rich
On Tue, Feb 26, 2013 at 12:02 PM, Dubielzig, Rich <rich.dubielzig@windriver.com> wrote: > I can make this change, but if ${localstatedir} ends up being different than /var it would not be consistent with current kernel code which hardcodes the path "/var/lib/nfs/v4recovery" by default in fs/nfsd/nfs4recover.c > > http://lxr.linux.no/#linux+v3.8/fs/nfsd/nfs4recover.c too bad. I think if you add this to commend and keep it hardcoded that will be better for future reference IMO so we know why we used /var and not conf var. > > -Rich > ________________________________________ > From: Saul Wold [sgw@linux.intel.com] > Sent: Monday, February 25, 2013 3:45 PM > To: Dubielzig, Rich > Cc: Openembedded-core@lists.openembedded.org > Subject: Re: [OE-core] [PATCH] nfs-utils: Add scratch directory for NFS upcall state storage > > On 02/25/2013 10:44 AM, Rich Dubielzig wrote: >> When the /var/lib/nfs/v4recovery directory is not present, NFSD cannot >> record the upcall state and cannot end the 90-second grace period on >> startup. This is true even when NFS4 is not being served according to >> nfsstat. >> >> More details and discussion here: >> https://lkml.org/lkml/2012/6/11/206 >> >> Signed-off-by: Rich Dubielzig <rich.dubielzig@windriver.com> >> --- >> .../nfs-utils/nfs-utils_1.2.3.bb | 5 ++++- >> 1 files changed, 4 insertions(+), 1 deletions(-) >> >> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb >> index 84c4464..a0b2399 100644 >> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb >> +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb >> @@ -12,7 +12,7 @@ DEPENDS = "libcap libnfsidmap libevent util-linux tcp-wrappers" >> RDEPENDS_${PN} = "rpcbind" >> RRECOMMENDS_${PN} = "kernel-module-nfsd" >> >> -PR = "r4" >> +PR = "r5" >> >> SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.bz2 \ >> file://nfs-utils-1.0.6-uclibc.patch \ >> @@ -58,4 +58,7 @@ do_install_append () { >> rm -f ${D}${sbindir}/rpcdebug >> rm -f ${D}${sbindir}/rpcgen >> rm -f ${D}${sbindir}/locktest >> + >> + # needed to allow NFSD to end its grace period >> + install -d ${D}/var/lib/nfs/v4recovery > > This should really use ${localstatedir} instead of var, it would also be > better to co-locate this with the other directory creations earlier in > the do_install_append(). > > Sau! > >> } >> > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Patch
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb index 84c4464..a0b2399 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb @@ -12,7 +12,7 @@ DEPENDS = "libcap libnfsidmap libevent util-linux tcp-wrappers" RDEPENDS_${PN} = "rpcbind" RRECOMMENDS_${PN} = "kernel-module-nfsd" -PR = "r4" +PR = "r5" SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.bz2 \ file://nfs-utils-1.0.6-uclibc.patch \ @@ -58,4 +58,7 @@ do_install_append () { rm -f ${D}${sbindir}/rpcdebug rm -f ${D}${sbindir}/rpcgen rm -f ${D}${sbindir}/locktest + + # needed to allow NFSD to end its grace period + install -d ${D}/var/lib/nfs/v4recovery }
When the /var/lib/nfs/v4recovery directory is not present, NFSD cannot record the upcall state and cannot end the 90-second grace period on startup. This is true even when NFS4 is not being served according to nfsstat. More details and discussion here: https://lkml.org/lkml/2012/6/11/206 Signed-off-by: Rich Dubielzig <rich.dubielzig@windriver.com> --- .../nfs-utils/nfs-utils_1.2.3.bb | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)