* [PATCH v1 1/3] Fix quoting in configure.ac @ 2018-10-31 20:02 Chuck Lever 2018-10-31 20:02 ` [PATCH v1 2/3] Harden configure.ac checks for libxml2 Chuck Lever ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Chuck Lever @ 2018-10-31 20:02 UTC (permalink / raw) To: steved; +Cc: linux-nfs Replace an unmatched single quote to help syntax coloring editors. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index cf1c4b9..16eae06 100644 --- a/configure.ac +++ b/configure.ac @@ -165,7 +165,7 @@ AC_ARG_ENABLE(uuid, choose_blkid=default) AC_ARG_ENABLE(mount, [AC_HELP_STRING([--disable-mount], - [Don't build mount.nfs and do use the util-linux mount(8) functionality. @<:@default=no@:>@])], + [Do not build mount.nfs and do use the util-linux mount(8) functionality. @<:@default=no@:>@])], enable_mount=$enableval, enable_mount=yes) AM_CONDITIONAL(CONFIG_MOUNT, [test "$enable_mount" = "yes"]) ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/3] Harden configure.ac checks for libxml2 2018-10-31 20:02 [PATCH v1 1/3] Fix quoting in configure.ac Chuck Lever @ 2018-10-31 20:02 ` Chuck Lever 2018-10-31 20:02 ` [PATCH v1 3/3] Finish port of junction support to nfs-utils Chuck Lever 2018-11-29 18:46 ` [PATCH v1 1/3] Fix quoting in configure.ac Steve Dickson 2 siblings, 0 replies; 9+ messages in thread From: Chuck Lever @ 2018-10-31 20:02 UTC (permalink / raw) To: steved; +Cc: linux-nfs Modernize the libxml2 script to use PKG_PROG_PKG_CONFIG instead of an ad hoc macro. This automates the population of AM_CPPFLAGS with "-I/usr/include/libxml2" when it is needed. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- aclocal/libxml2.m4 | 20 +++++++++++--------- support/junction/Makefile.am | 2 -- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/aclocal/libxml2.m4 b/aclocal/libxml2.m4 index 5c399b2..8231553 100644 --- a/aclocal/libxml2.m4 +++ b/aclocal/libxml2.m4 @@ -1,15 +1,17 @@ dnl Checks for libxml2.so AC_DEFUN([AC_LIBXML2], [ - if test "$enable_junction" = yes; then + PKG_PROG_PKG_CONFIG([0.9.0]) + AS_IF( + [test "$enable_junction" = "yes"], + [PKG_CHECK_MODULES([XML2], [libxml-2.0 >= 2.4], + [LIBXML2="${XML2_LIBS}" + AM_CPPFLAGS="${AM_CPPFLAGS} ${XML2_CFLAGS}" + AC_DEFINE([HAVE_LIBXML2], [1], + [Define to 1 if you have and wish to use libxml2.])], + [AC_MSG_ERROR([libxml2 not found.])])]) - dnl look for the library; do not add to LIBS if found - AC_CHECK_LIB([xml2], [xmlParseFile], [LIBXML2=-lxml2], - [AC_MSG_ERROR([libxml2 not found.])]) - AC_SUBST(LIBXML2) - - dnl XXX should also check for presence of xml headers - - fi + AC_SUBST([AM_CPPFLAGS]) + AC_SUBST(LIBXML2) ])dnl diff --git a/support/junction/Makefile.am b/support/junction/Makefile.am index 97e7426..be6958b 100644 --- a/support/junction/Makefile.am +++ b/support/junction/Makefile.am @@ -30,5 +30,3 @@ libjunction_la_SOURCES = display.c export-cache.c junction.c \ locations.c nfs.c path.c xml.c MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = -I. -I../include -I/usr/include/libxml2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 3/3] Finish port of junction support to nfs-utils 2018-10-31 20:02 [PATCH v1 1/3] Fix quoting in configure.ac Chuck Lever 2018-10-31 20:02 ` [PATCH v1 2/3] Harden configure.ac checks for libxml2 Chuck Lever @ 2018-10-31 20:02 ` Chuck Lever 2018-11-27 16:45 ` Chuck Lever 2018-11-29 18:46 ` [PATCH v1 1/3] Fix quoting in configure.ac Steve Dickson 2 siblings, 1 reply; 9+ messages in thread From: Chuck Lever @ 2018-10-31 20:02 UTC (permalink / raw) To: steved; +Cc: linux-nfs CONFIG_JUNCTION was defined for use in Makefiles, but that does not provide a -DCONFIG_JUNCTION on the compiler command line. Add logic to configure.ac to get the compiler flags right. Now that mountd junction support is getting built, a few last minute porting bugs popped out. Fix those up. Reported-by: Yongcheng Yang <yoyang@redhat.com> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1543126 Fixes: 79978ed34973 ("mountd: Solder in support for NFS basic ... ") Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- configure.ac | 8 +++++++- utils/mountd/cache.c | 18 +++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 16eae06..b458891 100644 --- a/configure.ac +++ b/configure.ac @@ -185,7 +185,13 @@ AC_ARG_ENABLE(junction, [enable support for NFS junctions @<:@default=no@:>@])], enable_junction=$enableval, enable_junction=no) -AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) + if test "$enable_junction" = yes; then + AC_DEFINE(HAVE_JUNCTION_SUPPORT, 1, + [Define this if you want junction support compiled in]) + else + enable_junction= + fi + AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) AC_ARG_ENABLE(tirpc, [AC_HELP_STRING([--disable-tirpc], diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index 6f42512..7e8d403 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -976,8 +976,9 @@ lookup_export(char *dom, char *path, struct addrinfo *ai) return found; } -#ifdef CONFIG_JUNCTION +#ifdef HAVE_JUNCTION_SUPPORT +#include <libxml/parser.h> #include "junction.h" struct nfs_fsloc_set { @@ -1084,8 +1085,7 @@ static bool locations_to_fslocdata(struct nfs_fsloc_set *locations, *ttl = 0; for (;;) { - enum jp_status status; - int len; + int len, status; status = get_next_location(locations, &server, &rootpath, ttl); @@ -1219,7 +1219,7 @@ nfs_get_basic_junction(const char *junct_path, struct nfs_fsloc_set **locset) return EINVAL; } - locset->ns_current = locset->ns_list; + new->ns_current = new->ns_list; new->ns_ttl = 300; *locset = new; return 0; @@ -1242,7 +1242,7 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, status = nfs_get_basic_junction(pathname, &locations); switch (status) { xlog(L_WARNING, "Dangling junction %s: %s", - pathname, strerro(status)); + pathname, strerror(status)); goto out; } @@ -1252,8 +1252,8 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, exp = locations_to_export(locations, pathname, parent); - nfs_free_locations(locset->ns_list); - free(locset); + nfs_free_locations(locations->ns_list); + free(locations); out: xmlCleanupParser(); @@ -1273,7 +1273,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path free(eep); } -#else /* !CONFIG_JUNCTION */ +#else /* !HAVE_JUNCTION_SUPPORT */ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path, struct addrinfo *UNUSED(ai)) @@ -1281,7 +1281,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path dump_to_cache(f, buf, buflen, dom, path, NULL, 0); } -#endif /* !CONFIG_JUNCTION */ +#endif /* !HAVE_JUNCTION_SUPPORT */ static void nfsd_export(int f) { ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] Finish port of junction support to nfs-utils 2018-10-31 20:02 ` [PATCH v1 3/3] Finish port of junction support to nfs-utils Chuck Lever @ 2018-11-27 16:45 ` Chuck Lever 2018-11-28 21:00 ` Steve Dickson 0 siblings, 1 reply; 9+ messages in thread From: Chuck Lever @ 2018-11-27 16:45 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List Ping! > On Oct 31, 2018, at 4:02 PM, Chuck Lever <chuck.lever@oracle.com> wrote: > > CONFIG_JUNCTION was defined for use in Makefiles, but that does not > provide a -DCONFIG_JUNCTION on the compiler command line. Add logic > to configure.ac to get the compiler flags right. > > Now that mountd junction support is getting built, a few last minute > porting bugs popped out. Fix those up. > > Reported-by: Yongcheng Yang <yoyang@redhat.com> > BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1543126 > Fixes: 79978ed34973 ("mountd: Solder in support for NFS basic ... ") > Signed-off-by: Chuck Lever <chuck.lever@oracle.com> > --- > configure.ac | 8 +++++++- > utils/mountd/cache.c | 18 +++++++++--------- > 2 files changed, 16 insertions(+), 10 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 16eae06..b458891 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -185,7 +185,13 @@ AC_ARG_ENABLE(junction, > [enable support for NFS junctions @<:@default=no@:>@])], > enable_junction=$enableval, > enable_junction=no) > -AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) > + if test "$enable_junction" = yes; then > + AC_DEFINE(HAVE_JUNCTION_SUPPORT, 1, > + [Define this if you want junction support compiled in]) > + else > + enable_junction= > + fi > + AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) > > AC_ARG_ENABLE(tirpc, > [AC_HELP_STRING([--disable-tirpc], > diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c > index 6f42512..7e8d403 100644 > --- a/utils/mountd/cache.c > +++ b/utils/mountd/cache.c > @@ -976,8 +976,9 @@ lookup_export(char *dom, char *path, struct addrinfo *ai) > return found; > } > > -#ifdef CONFIG_JUNCTION > +#ifdef HAVE_JUNCTION_SUPPORT > > +#include <libxml/parser.h> > #include "junction.h" > > struct nfs_fsloc_set { > @@ -1084,8 +1085,7 @@ static bool locations_to_fslocdata(struct nfs_fsloc_set *locations, > *ttl = 0; > > for (;;) { > - enum jp_status status; > - int len; > + int len, status; > > status = get_next_location(locations, &server, > &rootpath, ttl); > @@ -1219,7 +1219,7 @@ nfs_get_basic_junction(const char *junct_path, struct nfs_fsloc_set **locset) > return EINVAL; > } > > - locset->ns_current = locset->ns_list; > + new->ns_current = new->ns_list; > new->ns_ttl = 300; > *locset = new; > return 0; > @@ -1242,7 +1242,7 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, > status = nfs_get_basic_junction(pathname, &locations); > switch (status) { > xlog(L_WARNING, "Dangling junction %s: %s", > - pathname, strerro(status)); > + pathname, strerror(status)); > goto out; > } > > @@ -1252,8 +1252,8 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, > > exp = locations_to_export(locations, pathname, parent); > > - nfs_free_locations(locset->ns_list); > - free(locset); > + nfs_free_locations(locations->ns_list); > + free(locations); > > out: > xmlCleanupParser(); > @@ -1273,7 +1273,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path > free(eep); > } > > -#else /* !CONFIG_JUNCTION */ > +#else /* !HAVE_JUNCTION_SUPPORT */ > > static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path, > struct addrinfo *UNUSED(ai)) > @@ -1281,7 +1281,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path > dump_to_cache(f, buf, buflen, dom, path, NULL, 0); > } > > -#endif /* !CONFIG_JUNCTION */ > +#endif /* !HAVE_JUNCTION_SUPPORT */ > > static void nfsd_export(int f) > { > -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] Finish port of junction support to nfs-utils 2018-11-27 16:45 ` Chuck Lever @ 2018-11-28 21:00 ` Steve Dickson 2018-11-28 21:05 ` Chuck Lever 0 siblings, 1 reply; 9+ messages in thread From: Steve Dickson @ 2018-11-28 21:00 UTC (permalink / raw) To: Chuck Lever; +Cc: Linux NFS Mailing List On 11/27/18 11:45 AM, Chuck Lever wrote: > Ping! My apologies for taking so long to get to this... I took an extended Thanksgiving then completely for got about it... Thanks for the ping... but :-) When I enable junctions via --enable-junction I get the following compile error with or w/out these patches gcc -DHAVE_CONFIG_H -I. -I../../support/include -I. -I../../support/include -D_GNU_SOURCE -pipe -Wall -Wextra -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=format=2 -Werror=undef -Werror=missing-include-dirs -Werror=strict-aliasing=2 -Werror=init-self -Werror=implicit-function-declaration -Werror=return-type -Werror=switch -Werror=overflow -Werror=parentheses -Werror=aggregate-return -Werror=unused-result -fno-strict-aliasing -Werror=format-overflow=2 -Werror=int-conversion -Werror=incompatible-pointer-types -Werror=misleading-indentation -g -O2 -MT remove.o -MD -MP -MF .deps/remove.Tpo -c -o remove.o remove.c In file included from lookup.c:31: ../../support/include/rpcsvc/nfs_prot.h:9:10: fatal error: rpc/rpc.h: No such file or directory #include <rpc/rpc.h> ^~~~~~~~~~~ I know how to fix it... Add the following to CFLAGS and LDFLAGS `pkg-config --cflags libtirpc` `pkg-config --libs libtirpc` First I'm wonder how you got things to compile w/out making these changes and secondly I'm wondering where we should make these changes... Maybe we should hardcode the -I/usr/include/tirpc and -ltirpc flags in aclocal/libtirpc.m4? steved. > > >> On Oct 31, 2018, at 4:02 PM, Chuck Lever <chuck.lever@oracle.com> wrote: >> >> CONFIG_JUNCTION was defined for use in Makefiles, but that does not >> provide a -DCONFIG_JUNCTION on the compiler command line. Add logic >> to configure.ac to get the compiler flags right. >> >> Now that mountd junction support is getting built, a few last minute >> porting bugs popped out. Fix those up. >> >> Reported-by: Yongcheng Yang <yoyang@redhat.com> >> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1543126 >> Fixes: 79978ed34973 ("mountd: Solder in support for NFS basic ... ") >> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> >> --- >> configure.ac | 8 +++++++- >> utils/mountd/cache.c | 18 +++++++++--------- >> 2 files changed, 16 insertions(+), 10 deletions(-) >> >> diff --git a/configure.ac b/configure.ac >> index 16eae06..b458891 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -185,7 +185,13 @@ AC_ARG_ENABLE(junction, >> [enable support for NFS junctions @<:@default=no@:>@])], >> enable_junction=$enableval, >> enable_junction=no) >> -AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) >> + if test "$enable_junction" = yes; then >> + AC_DEFINE(HAVE_JUNCTION_SUPPORT, 1, >> + [Define this if you want junction support compiled in]) >> + else >> + enable_junction= >> + fi >> + AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) >> >> AC_ARG_ENABLE(tirpc, >> [AC_HELP_STRING([--disable-tirpc], >> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c >> index 6f42512..7e8d403 100644 >> --- a/utils/mountd/cache.c >> +++ b/utils/mountd/cache.c >> @@ -976,8 +976,9 @@ lookup_export(char *dom, char *path, struct addrinfo *ai) >> return found; >> } >> >> -#ifdef CONFIG_JUNCTION >> +#ifdef HAVE_JUNCTION_SUPPORT >> >> +#include <libxml/parser.h> >> #include "junction.h" >> >> struct nfs_fsloc_set { >> @@ -1084,8 +1085,7 @@ static bool locations_to_fslocdata(struct nfs_fsloc_set *locations, >> *ttl = 0; >> >> for (;;) { >> - enum jp_status status; >> - int len; >> + int len, status; >> >> status = get_next_location(locations, &server, >> &rootpath, ttl); >> @@ -1219,7 +1219,7 @@ nfs_get_basic_junction(const char *junct_path, struct nfs_fsloc_set **locset) >> return EINVAL; >> } >> >> - locset->ns_current = locset->ns_list; >> + new->ns_current = new->ns_list; >> new->ns_ttl = 300; >> *locset = new; >> return 0; >> @@ -1242,7 +1242,7 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, >> status = nfs_get_basic_junction(pathname, &locations); >> switch (status) { >> xlog(L_WARNING, "Dangling junction %s: %s", >> - pathname, strerro(status)); >> + pathname, strerror(status)); >> goto out; >> } >> >> @@ -1252,8 +1252,8 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, >> >> exp = locations_to_export(locations, pathname, parent); >> >> - nfs_free_locations(locset->ns_list); >> - free(locset); >> + nfs_free_locations(locations->ns_list); >> + free(locations); >> >> out: >> xmlCleanupParser(); >> @@ -1273,7 +1273,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path >> free(eep); >> } >> >> -#else /* !CONFIG_JUNCTION */ >> +#else /* !HAVE_JUNCTION_SUPPORT */ >> >> static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path, >> struct addrinfo *UNUSED(ai)) >> @@ -1281,7 +1281,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path >> dump_to_cache(f, buf, buflen, dom, path, NULL, 0); >> } >> >> -#endif /* !CONFIG_JUNCTION */ >> +#endif /* !HAVE_JUNCTION_SUPPORT */ >> >> static void nfsd_export(int f) >> { >> > > -- > Chuck Lever > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] Finish port of junction support to nfs-utils 2018-11-28 21:00 ` Steve Dickson @ 2018-11-28 21:05 ` Chuck Lever 2018-11-29 18:37 ` Steve Dickson 0 siblings, 1 reply; 9+ messages in thread From: Chuck Lever @ 2018-11-28 21:05 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List > On Nov 28, 2018, at 4:00 PM, Steve Dickson <SteveD@RedHat.com> wrote: > > > > On 11/27/18 11:45 AM, Chuck Lever wrote: >> Ping! > My apologies for taking so long to get to this... > I took an extended Thanksgiving then completely > for got about it... Thanks for the ping... but :-) > > When I enable junctions via --enable-junction I get the > following compile error with or w/out these patches > > gcc -DHAVE_CONFIG_H -I. -I../../support/include -I. -I../../support/include -D_GNU_SOURCE -pipe -Wall -Wextra -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=format=2 -Werror=undef -Werror=missing-include-dirs -Werror=strict-aliasing=2 -Werror=init-self -Werror=implicit-function-declaration -Werror=return-type -Werror=switch -Werror=overflow -Werror=parentheses -Werror=aggregate-return -Werror=unused-result -fno-strict-aliasing -Werror=format-overflow=2 -Werror=int-conversion -Werror=incompatible-pointer-types -Werror=misleading-indentation -g -O2 -MT remove.o -MD -MP -MF .deps/remove.Tpo -c -o remove.o remove.c > In file included from lookup.c:31: > ../../support/include/rpcsvc/nfs_prot.h:9:10: fatal error: rpc/rpc.h: No such file or directory > #include <rpc/rpc.h> > ^~~~~~~~~~~ > I know how to fix it... Add the following to CFLAGS and LDFLAGS > `pkg-config --cflags libtirpc` > `pkg-config --libs libtirpc` > > First I'm wonder how you got things to compile w/out making these changes Well I built and tested this on RHEL 7. If you're testing on late-model Fedora, you're probably getting a slightly different build configuration. Just a guess. > and secondly I'm wondering where we should make these changes... > > Maybe we should hardcode the -I/usr/include/tirpc and -ltirpc > flags in aclocal/libtirpc.m4? libtirpc.m4 seems like the right place, but hard-coding seems like a sledgehammer. Maybe have a look at the changes I made to libxml2.m4 and do something similar? > steved. > >> >> >>> On Oct 31, 2018, at 4:02 PM, Chuck Lever <chuck.lever@oracle.com> wrote: >>> >>> CONFIG_JUNCTION was defined for use in Makefiles, but that does not >>> provide a -DCONFIG_JUNCTION on the compiler command line. Add logic >>> to configure.ac to get the compiler flags right. >>> >>> Now that mountd junction support is getting built, a few last minute >>> porting bugs popped out. Fix those up. >>> >>> Reported-by: Yongcheng Yang <yoyang@redhat.com> >>> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1543126 >>> Fixes: 79978ed34973 ("mountd: Solder in support for NFS basic ... ") >>> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> >>> --- >>> configure.ac | 8 +++++++- >>> utils/mountd/cache.c | 18 +++++++++--------- >>> 2 files changed, 16 insertions(+), 10 deletions(-) >>> >>> diff --git a/configure.ac b/configure.ac >>> index 16eae06..b458891 100644 >>> --- a/configure.ac >>> +++ b/configure.ac >>> @@ -185,7 +185,13 @@ AC_ARG_ENABLE(junction, >>> [enable support for NFS junctions @<:@default=no@:>@])], >>> enable_junction=$enableval, >>> enable_junction=no) >>> -AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) >>> + if test "$enable_junction" = yes; then >>> + AC_DEFINE(HAVE_JUNCTION_SUPPORT, 1, >>> + [Define this if you want junction support compiled in]) >>> + else >>> + enable_junction= >>> + fi >>> + AM_CONDITIONAL(CONFIG_JUNCTION, [test "$enable_junction" = "yes" ]) >>> >>> AC_ARG_ENABLE(tirpc, >>> [AC_HELP_STRING([--disable-tirpc], >>> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c >>> index 6f42512..7e8d403 100644 >>> --- a/utils/mountd/cache.c >>> +++ b/utils/mountd/cache.c >>> @@ -976,8 +976,9 @@ lookup_export(char *dom, char *path, struct addrinfo *ai) >>> return found; >>> } >>> >>> -#ifdef CONFIG_JUNCTION >>> +#ifdef HAVE_JUNCTION_SUPPORT >>> >>> +#include <libxml/parser.h> >>> #include "junction.h" >>> >>> struct nfs_fsloc_set { >>> @@ -1084,8 +1085,7 @@ static bool locations_to_fslocdata(struct nfs_fsloc_set *locations, >>> *ttl = 0; >>> >>> for (;;) { >>> - enum jp_status status; >>> - int len; >>> + int len, status; >>> >>> status = get_next_location(locations, &server, >>> &rootpath, ttl); >>> @@ -1219,7 +1219,7 @@ nfs_get_basic_junction(const char *junct_path, struct nfs_fsloc_set **locset) >>> return EINVAL; >>> } >>> >>> - locset->ns_current = locset->ns_list; >>> + new->ns_current = new->ns_list; >>> new->ns_ttl = 300; >>> *locset = new; >>> return 0; >>> @@ -1242,7 +1242,7 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, >>> status = nfs_get_basic_junction(pathname, &locations); >>> switch (status) { >>> xlog(L_WARNING, "Dangling junction %s: %s", >>> - pathname, strerro(status)); >>> + pathname, strerror(status)); >>> goto out; >>> } >>> >>> @@ -1252,8 +1252,8 @@ static struct exportent *lookup_junction(char *dom, const char *pathname, >>> >>> exp = locations_to_export(locations, pathname, parent); >>> >>> - nfs_free_locations(locset->ns_list); >>> - free(locset); >>> + nfs_free_locations(locations->ns_list); >>> + free(locations); >>> >>> out: >>> xmlCleanupParser(); >>> @@ -1273,7 +1273,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path >>> free(eep); >>> } >>> >>> -#else /* !CONFIG_JUNCTION */ >>> +#else /* !HAVE_JUNCTION_SUPPORT */ >>> >>> static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path, >>> struct addrinfo *UNUSED(ai)) >>> @@ -1281,7 +1281,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path >>> dump_to_cache(f, buf, buflen, dom, path, NULL, 0); >>> } >>> >>> -#endif /* !CONFIG_JUNCTION */ >>> +#endif /* !HAVE_JUNCTION_SUPPORT */ >>> >>> static void nfsd_export(int f) >>> { >>> >> >> -- >> Chuck Lever >> >> >> -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] Finish port of junction support to nfs-utils 2018-11-28 21:05 ` Chuck Lever @ 2018-11-29 18:37 ` Steve Dickson 0 siblings, 0 replies; 9+ messages in thread From: Steve Dickson @ 2018-11-29 18:37 UTC (permalink / raw) To: Chuck Lever; +Cc: Linux NFS Mailing List On 11/28/18 4:05 PM, Chuck Lever wrote: > > >> On Nov 28, 2018, at 4:00 PM, Steve Dickson <SteveD@RedHat.com> wrote: >> >> >> >> On 11/27/18 11:45 AM, Chuck Lever wrote: >>> Ping! >> My apologies for taking so long to get to this... >> I took an extended Thanksgiving then completely >> for got about it... Thanks for the ping... but :-) >> >> When I enable junctions via --enable-junction I get the >> following compile error with or w/out these patches >> >> gcc -DHAVE_CONFIG_H -I. -I../../support/include -I. -I../../support/include -D_GNU_SOURCE -pipe -Wall -Wextra -Werror=strict-prototypes -Werror=missing-prototypes -Werror=missing-declarations -Werror=format=2 -Werror=undef -Werror=missing-include-dirs -Werror=strict-aliasing=2 -Werror=init-self -Werror=implicit-function-declaration -Werror=return-type -Werror=switch -Werror=overflow -Werror=parentheses -Werror=aggregate-return -Werror=unused-result -fno-strict-aliasing -Werror=format-overflow=2 -Werror=int-conversion -Werror=incompatible-pointer-types -Werror=misleading-indentation -g -O2 -MT remove.o -MD -MP -MF .deps/remove.Tpo -c -o remove.o remove.c >> In file included from lookup.c:31: >> ../../support/include/rpcsvc/nfs_prot.h:9:10: fatal error: rpc/rpc.h: No such file or directory >> #include <rpc/rpc.h> >> ^~~~~~~~~~~ >> I know how to fix it... Add the following to CFLAGS and LDFLAGS >> `pkg-config --cflags libtirpc` >> `pkg-config --libs libtirpc` >> >> First I'm wonder how you got things to compile w/out making these changes > > Well I built and tested this on RHEL 7. If you're testing on > late-model Fedora, you're probably getting a slightly different > build configuration. Just a guess. Fair enough.... > > >> and secondly I'm wondering where we should make these changes... >> >> Maybe we should hardcode the -I/usr/include/tirpc and -ltirpc >> flags in aclocal/libtirpc.m4? > > libtirpc.m4 seems like the right place, but hard-coding seems > like a sledgehammer. Maybe have a look at the changes I made > to libxml2.m4 and do something similar? It turns out that the AM_CPPFLAGS were being overwritten by the nfsref/Makefile.am file... Removing that definition allowed the proper flags and libs to be set... steved. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/3] Fix quoting in configure.ac 2018-10-31 20:02 [PATCH v1 1/3] Fix quoting in configure.ac Chuck Lever 2018-10-31 20:02 ` [PATCH v1 2/3] Harden configure.ac checks for libxml2 Chuck Lever 2018-10-31 20:02 ` [PATCH v1 3/3] Finish port of junction support to nfs-utils Chuck Lever @ 2018-11-29 18:46 ` Steve Dickson 2018-11-29 18:47 ` Chuck Lever 2 siblings, 1 reply; 9+ messages in thread From: Steve Dickson @ 2018-11-29 18:46 UTC (permalink / raw) To: Chuck Lever; +Cc: linux-nfs On 10/31/18 4:02 PM, Chuck Lever wrote: > Replace an unmatched single quote to help syntax coloring editors. > > Signed-off-by: Chuck Lever <chuck.lever@oracle.com> > --- > configure.ac | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure.ac b/configure.ac > index cf1c4b9..16eae06 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -165,7 +165,7 @@ AC_ARG_ENABLE(uuid, > choose_blkid=default) > AC_ARG_ENABLE(mount, > [AC_HELP_STRING([--disable-mount], > - [Don't build mount.nfs and do use the util-linux mount(8) functionality. @<:@default=no@:>@])], > + [Do not build mount.nfs and do use the util-linux mount(8) functionality. @<:@default=no@:>@])], > enable_mount=$enableval, > enable_mount=yes) > AM_CONDITIONAL(CONFIG_MOUNT, [test "$enable_mount" = "yes"]) > All three patches committed.... steved. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/3] Fix quoting in configure.ac 2018-11-29 18:46 ` [PATCH v1 1/3] Fix quoting in configure.ac Steve Dickson @ 2018-11-29 18:47 ` Chuck Lever 0 siblings, 0 replies; 9+ messages in thread From: Chuck Lever @ 2018-11-29 18:47 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List > On Nov 29, 2018, at 1:46 PM, Steve Dickson <SteveD@RedHat.com> wrote: > > > > On 10/31/18 4:02 PM, Chuck Lever wrote: >> Replace an unmatched single quote to help syntax coloring editors. >> >> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> >> --- >> configure.ac | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/configure.ac b/configure.ac >> index cf1c4b9..16eae06 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -165,7 +165,7 @@ AC_ARG_ENABLE(uuid, >> choose_blkid=default) >> AC_ARG_ENABLE(mount, >> [AC_HELP_STRING([--disable-mount], >> - [Don't build mount.nfs and do use the util-linux mount(8) functionality. @<:@default=no@:>@])], >> + [Do not build mount.nfs and do use the util-linux mount(8) functionality. @<:@default=no@:>@])], >> enable_mount=$enableval, >> enable_mount=yes) >> AM_CONDITIONAL(CONFIG_MOUNT, [test "$enable_mount" = "yes"]) >> > All three patches committed.... Excellent, thanks! -- Chuck Lever ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-11-29 18:47 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-10-31 20:02 [PATCH v1 1/3] Fix quoting in configure.ac Chuck Lever 2018-10-31 20:02 ` [PATCH v1 2/3] Harden configure.ac checks for libxml2 Chuck Lever 2018-10-31 20:02 ` [PATCH v1 3/3] Finish port of junction support to nfs-utils Chuck Lever 2018-11-27 16:45 ` Chuck Lever 2018-11-28 21:00 ` Steve Dickson 2018-11-28 21:05 ` Chuck Lever 2018-11-29 18:37 ` Steve Dickson 2018-11-29 18:46 ` [PATCH v1 1/3] Fix quoting in configure.ac Steve Dickson 2018-11-29 18:47 ` Chuck Lever
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.