* [PATCH 1/2] configure.ac: Added server 4.1 support configuration option @ 2011-09-17 15:17 Steve Dickson 2011-09-17 15:17 ` [PATCH 2/2] configure.ac: Remove unused NFS3_SUPPORTED define Steve Dickson 2011-09-17 18:36 ` [PATCH 1/2] configure.ac: Added server 4.1 support configuration option J. Bruce Fields 0 siblings, 2 replies; 12+ messages in thread From: Steve Dickson @ 2011-09-17 15:17 UTC (permalink / raw) To: Linux NFS Mailing List Separate the v4.1 support in the client and server by creating the --enable-nfsdv4 configuration option. Signed-off-by: Steve Dickson <steved@redhat.com> --- configure.ac | 19 ++++++++++++++++--- support/include/nfs/nfs.h | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 1a28f8a..18a735d 100644 --- a/configure.ac +++ b/configure.ac @@ -75,17 +75,30 @@ AC_ARG_ENABLE(nfsv4, AC_ARG_ENABLE(nfsv41, [AC_HELP_STRING([--enable-nfsv41], - [enable support for NFSv41 @<:@default=no@:>@])], + [enable for NFS v4.1 client support @<:@default=yes@:>@])], enable_nfsv41=$enableval, - enable_nfsv41=no) + enable_nfsv41=yes) if test "$enable_nfsv41" = yes; then - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) + AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv4.1 client support compiled in]) else enable_nfsv41= fi AC_SUBST(enable_nfsv41) AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) +AC_ARG_ENABLE(nfsvd41, + [AC_HELP_STRING([--enable-nfsdv41], + [enable for NFS v4.1 server support @<:@default=no@:>@])], + enable_nfsdv41=$enableval, + enable_nfsvd41=no) + if test "$enable_nfsdv41" = yes; then + AC_DEFINE(NFSD41_SUPPORTED, 1, [Define this if you want NFSv4.1 server support compiled in]) + else + enable_nfsdv41= + fi + AC_SUBST(enable_nfsdv41) + AM_CONDITIONAL(CONFIG_NFSDV41, [test "$enable_nfsdv41" = "yes"]) + AC_ARG_ENABLE(gss, [AC_HELP_STRING([--enable-gss], [enable support for rpcsec_gss @<:@default=yes@:>@])], diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h index c939d78..d06ac1f 100644 --- a/support/include/nfs/nfs.h +++ b/support/include/nfs/nfs.h @@ -16,7 +16,7 @@ #define NFSD_MAXVERS 4 #define NFSD_MINMINORVERS4 1 -#ifdef NFS41_SUPPORTED +#ifdef NFSD41_SUPPORTED #define NFSD_MAXMINORVERS4 1 #else #define NFSD_MAXMINORVERS4 0 -- 1.7.6 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] configure.ac: Remove unused NFS3_SUPPORTED define 2011-09-17 15:17 [PATCH 1/2] configure.ac: Added server 4.1 support configuration option Steve Dickson @ 2011-09-17 15:17 ` Steve Dickson 2011-09-17 18:36 ` [PATCH 1/2] configure.ac: Added server 4.1 support configuration option J. Bruce Fields 1 sibling, 0 replies; 12+ messages in thread From: Steve Dickson @ 2011-09-17 15:17 UTC (permalink / raw) To: Linux NFS Mailing List This configuration option is not used. So remove it for now then possibly added it back when V3 supported is disabled. Signed-off-by: Steve Dickson <steved@redhat.com> --- configure.ac | 12 +----------- 1 files changed, 1 insertions(+), 11 deletions(-) diff --git a/configure.ac b/configure.ac index 18a735d..07a25ad 100644 --- a/configure.ac +++ b/configure.ac @@ -46,17 +46,7 @@ AC_ARG_WITH(start-statd, ) AC_SUBST(startstatd) AC_DEFINE_UNQUOTED(START_STATD, "$startstatd", [Define this to a script which can start statd on mount]) -AC_ARG_ENABLE(nfsv3, - [AC_HELP_STRING([--enable-nfsv3], - [enable support for NFSv3 @<:@default=yes@:>@])], - enable_nfsv3=$enableval, - enable_nfsv3=yes) - if test "$enable_nfsv3" = yes; then - AC_DEFINE(NFS3_SUPPORTED, 1, [Define this if you want NFSv3 support compiled in]) - else - enable_nfsv3= - fi - AC_SUBST(enable_nfsv3) + AC_ARG_ENABLE(nfsv4, [AC_HELP_STRING([--enable-nfsv4], [enable support for NFSv4 @<:@default=yes@:>@])], -- 1.7.6 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-17 15:17 [PATCH 1/2] configure.ac: Added server 4.1 support configuration option Steve Dickson 2011-09-17 15:17 ` [PATCH 2/2] configure.ac: Remove unused NFS3_SUPPORTED define Steve Dickson @ 2011-09-17 18:36 ` J. Bruce Fields 2011-09-19 9:51 ` Steve Dickson 1 sibling, 1 reply; 12+ messages in thread From: J. Bruce Fields @ 2011-09-17 18:36 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List On Sat, Sep 17, 2011 at 11:17:01AM -0400, Steve Dickson wrote: > Separate the v4.1 support in the client and server > by creating the --enable-nfsdv4 configuration option. I really dislike --enable-nfsdv4: people shouldn't have to rebuild nfs-utils in order to turn on server 4.1 support. They should be able to do that at run time. It makes sense for something like the block client, because there we actually have to decide whether to *build* something or not, and if someone knows they're never going to use that daemon, maybe they don't want to bother building and installing it. For server 4.1 support, we're making them rebuild just to change the value of a single constant. Why? --b. > > Signed-off-by: Steve Dickson <steved@redhat.com> > --- > configure.ac | 19 ++++++++++++++++--- > support/include/nfs/nfs.h | 2 +- > 2 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 1a28f8a..18a735d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -75,17 +75,30 @@ AC_ARG_ENABLE(nfsv4, > > AC_ARG_ENABLE(nfsv41, > [AC_HELP_STRING([--enable-nfsv41], > - [enable support for NFSv41 @<:@default=no@:>@])], > + [enable for NFS v4.1 client support @<:@default=yes@:>@])], > enable_nfsv41=$enableval, > - enable_nfsv41=no) > + enable_nfsv41=yes) > if test "$enable_nfsv41" = yes; then > - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) > + AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv4.1 client support compiled in]) > else > enable_nfsv41= > fi > AC_SUBST(enable_nfsv41) > AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) > > +AC_ARG_ENABLE(nfsvd41, > + [AC_HELP_STRING([--enable-nfsdv41], > + [enable for NFS v4.1 server support @<:@default=no@:>@])], > + enable_nfsdv41=$enableval, > + enable_nfsvd41=no) > + if test "$enable_nfsdv41" = yes; then > + AC_DEFINE(NFSD41_SUPPORTED, 1, [Define this if you want NFSv4.1 server support compiled in]) > + else > + enable_nfsdv41= > + fi > + AC_SUBST(enable_nfsdv41) > + AM_CONDITIONAL(CONFIG_NFSDV41, [test "$enable_nfsdv41" = "yes"]) > + > AC_ARG_ENABLE(gss, > [AC_HELP_STRING([--enable-gss], > [enable support for rpcsec_gss @<:@default=yes@:>@])], > diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h > index c939d78..d06ac1f 100644 > --- a/support/include/nfs/nfs.h > +++ b/support/include/nfs/nfs.h > @@ -16,7 +16,7 @@ > #define NFSD_MAXVERS 4 > > #define NFSD_MINMINORVERS4 1 > -#ifdef NFS41_SUPPORTED > +#ifdef NFSD41_SUPPORTED > #define NFSD_MAXMINORVERS4 1 > #else > #define NFSD_MAXMINORVERS4 0 > -- > 1.7.6 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-17 18:36 ` [PATCH 1/2] configure.ac: Added server 4.1 support configuration option J. Bruce Fields @ 2011-09-19 9:51 ` Steve Dickson 2011-09-19 13:38 ` J. Bruce Fields 0 siblings, 1 reply; 12+ messages in thread From: Steve Dickson @ 2011-09-19 9:51 UTC (permalink / raw) To: J. Bruce Fields; +Cc: Linux NFS Mailing List On 09/17/2011 02:36 PM, J. Bruce Fields wrote: > On Sat, Sep 17, 2011 at 11:17:01AM -0400, Steve Dickson wrote: >> Separate the v4.1 support in the client and server >> by creating the --enable-nfsdv4 configuration option. > > I really dislike --enable-nfsdv4: people shouldn't have to rebuild > nfs-utils in order to turn on server 4.1 support. They should be able > to do that at run time. > > It makes sense for something like the block client, because there we > actually have to decide whether to *build* something or not, and if > someone knows they're never going to use that daemon, maybe they don't > want to bother building and installing it. > > For server 4.1 support, we're making them rebuild just to change the > value of a single constant. Why? If I remember correctly, that's the way you wanted... We disabled 4.1 server supported this way, because the code did not conform to the RFC. This was done back in Fed 2010. All this patch is doing is reorganizing things so there is a configuration option to enable/disable the 4.1 client. Now, I agree. Enabling/disabling the 4.1 server in a more dynamic way would be good... Is the code ready for that? Should this constraint be remove completely? steved. > > --b. > >> >> Signed-off-by: Steve Dickson <steved@redhat.com> >> --- >> configure.ac | 19 ++++++++++++++++--- >> support/include/nfs/nfs.h | 2 +- >> 2 files changed, 17 insertions(+), 4 deletions(-) >> >> diff --git a/configure.ac b/configure.ac >> index 1a28f8a..18a735d 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -75,17 +75,30 @@ AC_ARG_ENABLE(nfsv4, >> >> AC_ARG_ENABLE(nfsv41, >> [AC_HELP_STRING([--enable-nfsv41], >> - [enable support for NFSv41 @<:@default=no@:>@])], >> + [enable for NFS v4.1 client support @<:@default=yes@:>@])], >> enable_nfsv41=$enableval, >> - enable_nfsv41=no) >> + enable_nfsv41=yes) >> if test "$enable_nfsv41" = yes; then >> - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) >> + AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv4.1 client support compiled in]) >> else >> enable_nfsv41= >> fi >> AC_SUBST(enable_nfsv41) >> AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) >> >> +AC_ARG_ENABLE(nfsvd41, >> + [AC_HELP_STRING([--enable-nfsdv41], >> + [enable for NFS v4.1 server support @<:@default=no@:>@])], >> + enable_nfsdv41=$enableval, >> + enable_nfsvd41=no) >> + if test "$enable_nfsdv41" = yes; then >> + AC_DEFINE(NFSD41_SUPPORTED, 1, [Define this if you want NFSv4.1 server support compiled in]) >> + else >> + enable_nfsdv41= >> + fi >> + AC_SUBST(enable_nfsdv41) >> + AM_CONDITIONAL(CONFIG_NFSDV41, [test "$enable_nfsdv41" = "yes"]) >> + >> AC_ARG_ENABLE(gss, >> [AC_HELP_STRING([--enable-gss], >> [enable support for rpcsec_gss @<:@default=yes@:>@])], >> diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h >> index c939d78..d06ac1f 100644 >> --- a/support/include/nfs/nfs.h >> +++ b/support/include/nfs/nfs.h >> @@ -16,7 +16,7 @@ >> #define NFSD_MAXVERS 4 >> >> #define NFSD_MINMINORVERS4 1 >> -#ifdef NFS41_SUPPORTED >> +#ifdef NFSD41_SUPPORTED >> #define NFSD_MAXMINORVERS4 1 >> #else >> #define NFSD_MAXMINORVERS4 0 >> -- >> 1.7.6 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-19 9:51 ` Steve Dickson @ 2011-09-19 13:38 ` J. Bruce Fields 2011-09-19 14:20 ` Steve Dickson 0 siblings, 1 reply; 12+ messages in thread From: J. Bruce Fields @ 2011-09-19 13:38 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List On Mon, Sep 19, 2011 at 05:51:51AM -0400, Steve Dickson wrote: > > > On 09/17/2011 02:36 PM, J. Bruce Fields wrote: > > On Sat, Sep 17, 2011 at 11:17:01AM -0400, Steve Dickson wrote: > >> Separate the v4.1 support in the client and server > >> by creating the --enable-nfsdv4 configuration option. > > > > I really dislike --enable-nfsdv4: people shouldn't have to rebuild > > nfs-utils in order to turn on server 4.1 support. They should be able > > to do that at run time. > > > > It makes sense for something like the block client, because there we > > actually have to decide whether to *build* something or not, and if > > someone knows they're never going to use that daemon, maybe they don't > > want to bother building and installing it. > > > > For server 4.1 support, we're making them rebuild just to change the > > value of a single constant. Why? > If I remember correctly, that's the way you wanted... We disabled > 4.1 server supported this way, because the code did not conform to > the RFC. This was done back in Fed 2010. > > All this patch is doing is reorganizing things so there is a > configuration option to enable/disable the 4.1 client. > > Now, I agree. Enabling/disabling the 4.1 server in a more > dynamic way would be good... Is the code ready for that? > Should this constraint be remove completely? We still don't want it on by default. But that's no reason to force early adopters to recompile nfs-utils just to turn it on. So how about something like this? (Untested.) --b. commit 3df526795eed38b27fecb51775c039b7eaeed088 Author: J. Bruce Fields <bfields@citi.umich.edu> Date: Thu Dec 17 17:11:54 2009 -0500 nfsd: allow choosing server 41 support at runtime Provide an enable-41 option to rpc.nfsd to turn on experimental 4.1 support in the server. (Current kernels have 41 off by default until basic 41 support is finished, so this option is intended only for people that know what they're doing.) Note once 4.1 defaults to on, this option will become unnecessary (and can probably just be dropped from nfs-utils), and only the -N 4.1 option will be necessary, for those that want to turn 4.1 off for some reason. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> diff --git a/configure.ac b/configure.ac index 1a28f8a..7000324 100644 --- a/configure.ac +++ b/configure.ac @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, AC_SUBST(enable_nfsv4) AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) -AC_ARG_ENABLE(nfsv41, - [AC_HELP_STRING([--enable-nfsv41], - [enable support for NFSv41 @<:@default=no@:>@])], - enable_nfsv41=$enableval, - enable_nfsv41=no) - if test "$enable_nfsv41" = yes; then - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) - else - enable_nfsv41= - fi - AC_SUBST(enable_nfsv41) - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) - AC_ARG_ENABLE(gss, [AC_HELP_STRING([--enable-gss], [enable support for rpcsec_gss @<:@default=yes@:>@])], diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h index c939d78..320880e 100644 --- a/support/include/nfs/nfs.h +++ b/support/include/nfs/nfs.h @@ -15,13 +15,6 @@ #define NFSD_MINVERS 2 #define NFSD_MAXVERS 4 -#define NFSD_MINMINORVERS4 1 -#ifdef NFS41_SUPPORTED -#define NFSD_MAXMINORVERS4 1 -#else -#define NFSD_MAXMINORVERS4 0 -#endif - struct nfs_fh_len { int fh_size; u_int8_t fh_handle[NFS3_FHSIZE]; diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c index e7e1470..fa9c429 100644 --- a/utils/nfsd/nfsd.c +++ b/utils/nfsd/nfsd.c @@ -40,6 +40,7 @@ static struct option longopts[] = { "port", 1, 0, 'p' }, { "debug", 0, 0, 'd' }, { "syslog", 0, 0, 's' }, + { "enable-41", 0, 0, 'X' }, { NULL, 0, 0, 0 } }; @@ -94,7 +95,7 @@ main(int argc, char **argv) char *p, *progname, *port; char *haddr = NULL; int socket_up = 0; - int minorvers4 = NFSD_MAXMINORVERS4; /* nfsv4 minor version */ + int minorvers41 = 0; /* nfsv4 minor version */ unsigned int versbits = NFSCTL_ALLBITS; unsigned int protobits = NFSCTL_ALLBITS; unsigned int proto4 = 0; @@ -154,7 +155,12 @@ main(int argc, char **argv) switch((c = strtol(optarg, &p, 0))) { case 4: if (*p == '.') { - minorvers4 = -atoi(p + 1); + int i = atoi(p+1); + if (i != 1) { + fprintf(stderr, "%s: unsupported minor version\n", optarg); + exit(1); + } + minorvers41 = -1; break; } case 3: @@ -176,6 +182,9 @@ main(int argc, char **argv) case 'U': NFSCTL_UDPUNSET(protobits); break; + case 'X': + minorvers41 = 1; + break; default: fprintf(stderr, "Invalid argument: '%c'\n", c); case 'h': @@ -251,7 +260,7 @@ main(int argc, char **argv) * registered with rpcbind. Note that on older kernels w/o the right * interfaces, these are a no-op. */ - nfssvc_setvers(versbits, minorvers4); + nfssvc_setvers(versbits, minorvers41); error = nfssvc_set_sockets(AF_INET, proto4, haddr, port); if (!error) @@ -303,7 +312,7 @@ static void usage(const char *prog) { fprintf(stderr, "Usage:\n" - "%s [-d|--debug] [-H hostname] [-p|-P|--port port] [-N|--no-nfs-version version ] [-s|--syslog] [-T|--no-tcp] [-U|--no-udp] nrservs\n", + "%s [-d|--debug] [-H hostname] [-p|-P|--port port] [-N|--no-nfs-version version ] [-s|--syslog] [-T|--no-tcp] [-U|--no-udp] [--enable-41] nrservs\n", prog); exit(2); } diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c index f607214..683008e 100644 --- a/utils/nfsd/nfssvc.c +++ b/utils/nfsd/nfssvc.c @@ -269,7 +269,7 @@ nfssvc_set_sockets(const int family, const unsigned int protobits, } void -nfssvc_setvers(unsigned int ctlbits, int minorvers4) +nfssvc_setvers(unsigned int ctlbits, int minorvers41) { int fd, n, off; char *ptr; @@ -280,11 +280,9 @@ nfssvc_setvers(unsigned int ctlbits, int minorvers4) if (fd < 0) return; - n = minorvers4 >= 0 ? minorvers4 : -minorvers4; - if (n >= NFSD_MINMINORVERS4 && n <= NFSD_MAXMINORVERS4) - off += snprintf(ptr+off, sizeof(buf) - off, "%c4.%d ", - minorvers4 > 0 ? '+' : '-', - n); + if (minorvers41) + off += snprintf(ptr+off, sizeof(buf) - off, "%c4.1", + minorvers41 > 0 ? '+' : '-'); for (n = NFSD_MINVERS; n <= NFSD_MAXVERS; n++) { if (NFSCTL_VERISSET(ctlbits, n)) off += snprintf(ptr+off, sizeof(buf) - off, "+%d ", n); ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-19 13:38 ` J. Bruce Fields @ 2011-09-19 14:20 ` Steve Dickson 2011-09-19 14:35 ` J. Bruce Fields 0 siblings, 1 reply; 12+ messages in thread From: Steve Dickson @ 2011-09-19 14:20 UTC (permalink / raw) To: J. Bruce Fields; +Cc: Linux NFS Mailing List On 09/19/2011 09:38 AM, J. Bruce Fields wrote: > On Mon, Sep 19, 2011 at 05:51:51AM -0400, Steve Dickson wrote: >> >> >> On 09/17/2011 02:36 PM, J. Bruce Fields wrote: >>> On Sat, Sep 17, 2011 at 11:17:01AM -0400, Steve Dickson wrote: >>>> Separate the v4.1 support in the client and server >>>> by creating the --enable-nfsdv4 configuration option. >>> >>> I really dislike --enable-nfsdv4: people shouldn't have to rebuild >>> nfs-utils in order to turn on server 4.1 support. They should be able >>> to do that at run time. >>> >>> It makes sense for something like the block client, because there we >>> actually have to decide whether to *build* something or not, and if >>> someone knows they're never going to use that daemon, maybe they don't >>> want to bother building and installing it. >>> >>> For server 4.1 support, we're making them rebuild just to change the >>> value of a single constant. Why? >> If I remember correctly, that's the way you wanted... We disabled >> 4.1 server supported this way, because the code did not conform to >> the RFC. This was done back in Fed 2010. >> >> All this patch is doing is reorganizing things so there is a >> configuration option to enable/disable the 4.1 client. >> >> Now, I agree. Enabling/disabling the 4.1 server in a more >> dynamic way would be good... Is the code ready for that? >> Should this constraint be remove completely? > > We still don't want it on by default. But that's no reason to force > early adopters to recompile nfs-utils just to turn it on. Fine... > > So how about something like this? (Untested.) > > --b. > > commit 3df526795eed38b27fecb51775c039b7eaeed088 > Author: J. Bruce Fields <bfields@citi.umich.edu> > Date: Thu Dec 17 17:11:54 2009 -0500 > > nfsd: allow choosing server 41 support at runtime > > Provide an enable-41 option to rpc.nfsd to turn on experimental 4.1 > support in the server. (Current kernels have 41 off by default until > basic 41 support is finished, so this option is intended only for people > that know what they're doing.) > > Note once 4.1 defaults to on, this option will become unnecessary (and > can probably just be dropped from nfs-utils), and only the -N 4.1 option > will be necessary, for those that want to turn 4.1 off for some reason. > > Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> > > diff --git a/configure.ac b/configure.ac > index 1a28f8a..7000324 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, > AC_SUBST(enable_nfsv4) > AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) > > -AC_ARG_ENABLE(nfsv41, > - [AC_HELP_STRING([--enable-nfsv41], > - [enable support for NFSv41 @<:@default=no@:>@])], > - enable_nfsv41=$enableval, > - enable_nfsv41=no) > - if test "$enable_nfsv41" = yes; then > - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) > - else > - enable_nfsv41= > - fi > - AC_SUBST(enable_nfsv41) > - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) > - I think we still need this for the 4.1 client code. > AC_ARG_ENABLE(gss, > [AC_HELP_STRING([--enable-gss], > [enable support for rpcsec_gss @<:@default=yes@:>@])], > diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h > index c939d78..320880e 100644 > --- a/support/include/nfs/nfs.h > +++ b/support/include/nfs/nfs.h > @@ -15,13 +15,6 @@ > #define NFSD_MINVERS 2 > #define NFSD_MAXVERS 4 > > -#define NFSD_MINMINORVERS4 1 > -#ifdef NFS41_SUPPORTED > -#define NFSD_MAXMINORVERS4 1 > -#else > -#define NFSD_MAXMINORVERS4 0 > -#endif > - > struct nfs_fh_len { > int fh_size; > u_int8_t fh_handle[NFS3_FHSIZE]; > diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c > index e7e1470..fa9c429 100644 > --- a/utils/nfsd/nfsd.c > +++ b/utils/nfsd/nfsd.c > @@ -40,6 +40,7 @@ static struct option longopts[] = > { "port", 1, 0, 'p' }, > { "debug", 0, 0, 'd' }, > { "syslog", 0, 0, 's' }, > + { "enable-41", 0, 0, 'X' }, > { NULL, 0, 0, 0 } > }; Introducing temporary, undocumented command line arguments is generally not a good thing... IMHO... I was think more of an echo to /proc/fs/nfsd/versions to enable the support. steved. > > @@ -94,7 +95,7 @@ main(int argc, char **argv) > char *p, *progname, *port; > char *haddr = NULL; > int socket_up = 0; > - int minorvers4 = NFSD_MAXMINORVERS4; /* nfsv4 minor version */ > + int minorvers41 = 0; /* nfsv4 minor version */ > unsigned int versbits = NFSCTL_ALLBITS; > unsigned int protobits = NFSCTL_ALLBITS; > unsigned int proto4 = 0; > @@ -154,7 +155,12 @@ main(int argc, char **argv) > switch((c = strtol(optarg, &p, 0))) { > case 4: > if (*p == '.') { > - minorvers4 = -atoi(p + 1); > + int i = atoi(p+1); > + if (i != 1) { > + fprintf(stderr, "%s: unsupported minor version\n", optarg); > + exit(1); > + } > + minorvers41 = -1; > break; > } > case 3: > @@ -176,6 +182,9 @@ main(int argc, char **argv) > case 'U': > NFSCTL_UDPUNSET(protobits); > break; > + case 'X': > + minorvers41 = 1; > + break; > default: > fprintf(stderr, "Invalid argument: '%c'\n", c); > case 'h': > @@ -251,7 +260,7 @@ main(int argc, char **argv) > * registered with rpcbind. Note that on older kernels w/o the right > * interfaces, these are a no-op. > */ > - nfssvc_setvers(versbits, minorvers4); > + nfssvc_setvers(versbits, minorvers41); > > error = nfssvc_set_sockets(AF_INET, proto4, haddr, port); > if (!error) > @@ -303,7 +312,7 @@ static void > usage(const char *prog) > { > fprintf(stderr, "Usage:\n" > - "%s [-d|--debug] [-H hostname] [-p|-P|--port port] [-N|--no-nfs-version version ] [-s|--syslog] [-T|--no-tcp] [-U|--no-udp] nrservs\n", > + "%s [-d|--debug] [-H hostname] [-p|-P|--port port] [-N|--no-nfs-version version ] [-s|--syslog] [-T|--no-tcp] [-U|--no-udp] [--enable-41] nrservs\n", > prog); > exit(2); > } > diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c > index f607214..683008e 100644 > --- a/utils/nfsd/nfssvc.c > +++ b/utils/nfsd/nfssvc.c > @@ -269,7 +269,7 @@ nfssvc_set_sockets(const int family, const unsigned int protobits, > } > > void > -nfssvc_setvers(unsigned int ctlbits, int minorvers4) > +nfssvc_setvers(unsigned int ctlbits, int minorvers41) > { > int fd, n, off; > char *ptr; > @@ -280,11 +280,9 @@ nfssvc_setvers(unsigned int ctlbits, int minorvers4) > if (fd < 0) > return; > > - n = minorvers4 >= 0 ? minorvers4 : -minorvers4; > - if (n >= NFSD_MINMINORVERS4 && n <= NFSD_MAXMINORVERS4) > - off += snprintf(ptr+off, sizeof(buf) - off, "%c4.%d ", > - minorvers4 > 0 ? '+' : '-', > - n); > + if (minorvers41) > + off += snprintf(ptr+off, sizeof(buf) - off, "%c4.1", > + minorvers41 > 0 ? '+' : '-'); > for (n = NFSD_MINVERS; n <= NFSD_MAXVERS; n++) { > if (NFSCTL_VERISSET(ctlbits, n)) > off += snprintf(ptr+off, sizeof(buf) - off, "+%d ", n); ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-19 14:20 ` Steve Dickson @ 2011-09-19 14:35 ` J. Bruce Fields 2011-09-19 15:16 ` Steve Dickson 0 siblings, 1 reply; 12+ messages in thread From: J. Bruce Fields @ 2011-09-19 14:35 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List On Mon, Sep 19, 2011 at 10:20:38AM -0400, Steve Dickson wrote: > > > On 09/19/2011 09:38 AM, J. Bruce Fields wrote: > > diff --git a/configure.ac b/configure.ac > > index 1a28f8a..7000324 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, > > AC_SUBST(enable_nfsv4) > > AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) > > > > -AC_ARG_ENABLE(nfsv41, > > - [AC_HELP_STRING([--enable-nfsv41], > > - [enable support for NFSv41 @<:@default=no@:>@])], > > - enable_nfsv41=$enableval, > > - enable_nfsv41=no) > > - if test "$enable_nfsv41" = yes; then > > - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) > > - else > > - enable_nfsv41= > > - fi > > - AC_SUBST(enable_nfsv41) > > - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) > > - > I think we still need this for the 4.1 client code. OK. Or I can wait and resend a patch after you've committed the changes for the client's block daemon, if you'd prefer. > > diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c > > index e7e1470..fa9c429 100644 > > --- a/utils/nfsd/nfsd.c > > +++ b/utils/nfsd/nfsd.c > > @@ -40,6 +40,7 @@ static struct option longopts[] = > > { "port", 1, 0, 'p' }, > > { "debug", 0, 0, 'd' }, > > { "syslog", 0, 0, 's' }, > > + { "enable-41", 0, 0, 'X' }, > > { NULL, 0, 0, 0 } > > }; > Introducing temporary, undocumented command line arguments > is generally not a good thing... IMHO... I was think more > of an echo to /proc/fs/nfsd/versions to enable the support. I think it's a reasonable thing to do for experimental code. But we could do the following instead. (Warning: still untested.) --b. commit 8d69da4c556f8ad2d42caa3875a665761c27463e Author: J. Bruce Fields <bfields@citi.umich.edu> Date: Thu Dec 17 17:11:54 2009 -0500 nfsd: allow choosing server 41 support at runtime In the case where -N 4.1 is left off the commandline, the current code explicitly turns it on or off anyway, depending on configure options. Instead, just leave 4.1 support alone. This allows a user to add an "echo +4.1 >/proc/fs/nfsd/versions" to their init scripts, if they want. Otherwise they will get the kernel's default (currently to leave 4.1 off, as long as 4.1 support is experimental). Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h index c939d78..320880e 100644 --- a/support/include/nfs/nfs.h +++ b/support/include/nfs/nfs.h @@ -15,13 +15,6 @@ #define NFSD_MINVERS 2 #define NFSD_MAXVERS 4 -#define NFSD_MINMINORVERS4 1 -#ifdef NFS41_SUPPORTED -#define NFSD_MAXMINORVERS4 1 -#else -#define NFSD_MAXMINORVERS4 0 -#endif - struct nfs_fh_len { int fh_size; u_int8_t fh_handle[NFS3_FHSIZE]; diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c index e7e1470..8bc5d3a 100644 --- a/utils/nfsd/nfsd.c +++ b/utils/nfsd/nfsd.c @@ -94,7 +94,7 @@ main(int argc, char **argv) char *p, *progname, *port; char *haddr = NULL; int socket_up = 0; - int minorvers4 = NFSD_MAXMINORVERS4; /* nfsv4 minor version */ + int minorvers41 = 0; /* nfsv4 minor version */ unsigned int versbits = NFSCTL_ALLBITS; unsigned int protobits = NFSCTL_ALLBITS; unsigned int proto4 = 0; @@ -154,7 +154,12 @@ main(int argc, char **argv) switch((c = strtol(optarg, &p, 0))) { case 4: if (*p == '.') { - minorvers4 = -atoi(p + 1); + int i = atoi(p+1); + if (i != 1) { + fprintf(stderr, "%s: unsupported minor version\n", optarg); + exit(1); + } + minorvers41 = -1; break; } case 3: @@ -251,7 +256,7 @@ main(int argc, char **argv) * registered with rpcbind. Note that on older kernels w/o the right * interfaces, these are a no-op. */ - nfssvc_setvers(versbits, minorvers4); + nfssvc_setvers(versbits, minorvers41); error = nfssvc_set_sockets(AF_INET, proto4, haddr, port); if (!error) diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c index f607214..683008e 100644 --- a/utils/nfsd/nfssvc.c +++ b/utils/nfsd/nfssvc.c @@ -269,7 +269,7 @@ nfssvc_set_sockets(const int family, const unsigned int protobits, } void -nfssvc_setvers(unsigned int ctlbits, int minorvers4) +nfssvc_setvers(unsigned int ctlbits, int minorvers41) { int fd, n, off; char *ptr; @@ -280,11 +280,9 @@ nfssvc_setvers(unsigned int ctlbits, int minorvers4) if (fd < 0) return; - n = minorvers4 >= 0 ? minorvers4 : -minorvers4; - if (n >= NFSD_MINMINORVERS4 && n <= NFSD_MAXMINORVERS4) - off += snprintf(ptr+off, sizeof(buf) - off, "%c4.%d ", - minorvers4 > 0 ? '+' : '-', - n); + if (minorvers41) + off += snprintf(ptr+off, sizeof(buf) - off, "%c4.1", + minorvers41 > 0 ? '+' : '-'); for (n = NFSD_MINVERS; n <= NFSD_MAXVERS; n++) { if (NFSCTL_VERISSET(ctlbits, n)) off += snprintf(ptr+off, sizeof(buf) - off, "+%d ", n); ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-19 14:35 ` J. Bruce Fields @ 2011-09-19 15:16 ` Steve Dickson 2011-09-19 15:27 ` J. Bruce Fields 0 siblings, 1 reply; 12+ messages in thread From: Steve Dickson @ 2011-09-19 15:16 UTC (permalink / raw) To: J. Bruce Fields; +Cc: Linux NFS Mailing List On 09/19/2011 10:35 AM, J. Bruce Fields wrote: > On Mon, Sep 19, 2011 at 10:20:38AM -0400, Steve Dickson wrote: >> >> >> On 09/19/2011 09:38 AM, J. Bruce Fields wrote: >>> diff --git a/configure.ac b/configure.ac >>> index 1a28f8a..7000324 100644 >>> --- a/configure.ac >>> +++ b/configure.ac >>> @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, >>> AC_SUBST(enable_nfsv4) >>> AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) >>> >>> -AC_ARG_ENABLE(nfsv41, >>> - [AC_HELP_STRING([--enable-nfsv41], >>> - [enable support for NFSv41 @<:@default=no@:>@])], >>> - enable_nfsv41=$enableval, >>> - enable_nfsv41=no) >>> - if test "$enable_nfsv41" = yes; then >>> - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) >>> - else >>> - enable_nfsv41= >>> - fi >>> - AC_SUBST(enable_nfsv41) >>> - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) >>> - >> I think we still need this for the 4.1 client code. > > OK. Or I can wait and resend a patch after you've committed the changes > for the client's block daemon, if you'd prefer. I'll deal with the configure code.... > >>> diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c >>> index e7e1470..fa9c429 100644 >>> --- a/utils/nfsd/nfsd.c >>> +++ b/utils/nfsd/nfsd.c >>> @@ -40,6 +40,7 @@ static struct option longopts[] = >>> { "port", 1, 0, 'p' }, >>> { "debug", 0, 0, 'd' }, >>> { "syslog", 0, 0, 's' }, >>> + { "enable-41", 0, 0, 'X' }, >>> { NULL, 0, 0, 0 } >>> }; >> Introducing temporary, undocumented command line arguments >> is generally not a good thing... IMHO... I was think more >> of an echo to /proc/fs/nfsd/versions to enable the support. > > I think it's a reasonable thing to do for experimental code. > > But we could do the following instead. (Warning: still untested.) > > --b. > > commit 8d69da4c556f8ad2d42caa3875a665761c27463e > Author: J. Bruce Fields <bfields@citi.umich.edu> > Date: Thu Dec 17 17:11:54 2009 -0500 > > nfsd: allow choosing server 41 support at runtime > > In the case where -N 4.1 is left off the commandline, the current code > explicitly turns it on or off anyway, depending on configure options. > > Instead, just leave 4.1 support alone. This allows a user to add an > "echo +4.1 >/proc/fs/nfsd/versions" to their init scripts, if they want. > Otherwise they will get the kernel's default (currently to leave 4.1 > off, as long as 4.1 support is experimental). I think this is a good compromise... Could you spend a few cycles on making sure that echo does indeed turn on 4.1 support? tia, steved. > > Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> > > diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h > index c939d78..320880e 100644 > --- a/support/include/nfs/nfs.h > +++ b/support/include/nfs/nfs.h > @@ -15,13 +15,6 @@ > #define NFSD_MINVERS 2 > #define NFSD_MAXVERS 4 > > -#define NFSD_MINMINORVERS4 1 > -#ifdef NFS41_SUPPORTED > -#define NFSD_MAXMINORVERS4 1 > -#else > -#define NFSD_MAXMINORVERS4 0 > -#endif > - > struct nfs_fh_len { > int fh_size; > u_int8_t fh_handle[NFS3_FHSIZE]; > diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c > index e7e1470..8bc5d3a 100644 > --- a/utils/nfsd/nfsd.c > +++ b/utils/nfsd/nfsd.c > @@ -94,7 +94,7 @@ main(int argc, char **argv) > char *p, *progname, *port; > char *haddr = NULL; > int socket_up = 0; > - int minorvers4 = NFSD_MAXMINORVERS4; /* nfsv4 minor version */ > + int minorvers41 = 0; /* nfsv4 minor version */ > unsigned int versbits = NFSCTL_ALLBITS; > unsigned int protobits = NFSCTL_ALLBITS; > unsigned int proto4 = 0; > @@ -154,7 +154,12 @@ main(int argc, char **argv) > switch((c = strtol(optarg, &p, 0))) { > case 4: > if (*p == '.') { > - minorvers4 = -atoi(p + 1); > + int i = atoi(p+1); > + if (i != 1) { > + fprintf(stderr, "%s: unsupported minor version\n", optarg); > + exit(1); > + } > + minorvers41 = -1; > break; > } > case 3: > @@ -251,7 +256,7 @@ main(int argc, char **argv) > * registered with rpcbind. Note that on older kernels w/o the right > * interfaces, these are a no-op. > */ > - nfssvc_setvers(versbits, minorvers4); > + nfssvc_setvers(versbits, minorvers41); > > error = nfssvc_set_sockets(AF_INET, proto4, haddr, port); > if (!error) > diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c > index f607214..683008e 100644 > --- a/utils/nfsd/nfssvc.c > +++ b/utils/nfsd/nfssvc.c > @@ -269,7 +269,7 @@ nfssvc_set_sockets(const int family, const unsigned int protobits, > } > > void > -nfssvc_setvers(unsigned int ctlbits, int minorvers4) > +nfssvc_setvers(unsigned int ctlbits, int minorvers41) > { > int fd, n, off; > char *ptr; > @@ -280,11 +280,9 @@ nfssvc_setvers(unsigned int ctlbits, int minorvers4) > if (fd < 0) > return; > > - n = minorvers4 >= 0 ? minorvers4 : -minorvers4; > - if (n >= NFSD_MINMINORVERS4 && n <= NFSD_MAXMINORVERS4) > - off += snprintf(ptr+off, sizeof(buf) - off, "%c4.%d ", > - minorvers4 > 0 ? '+' : '-', > - n); > + if (minorvers41) > + off += snprintf(ptr+off, sizeof(buf) - off, "%c4.1", > + minorvers41 > 0 ? '+' : '-'); > for (n = NFSD_MINVERS; n <= NFSD_MAXVERS; n++) { > if (NFSCTL_VERISSET(ctlbits, n)) > off += snprintf(ptr+off, sizeof(buf) - off, "+%d ", n); ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-19 15:16 ` Steve Dickson @ 2011-09-19 15:27 ` J. Bruce Fields 2011-09-19 18:15 ` J. Bruce Fields 0 siblings, 1 reply; 12+ messages in thread From: J. Bruce Fields @ 2011-09-19 15:27 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List On Mon, Sep 19, 2011 at 11:16:21AM -0400, Steve Dickson wrote: > > > On 09/19/2011 10:35 AM, J. Bruce Fields wrote: > > On Mon, Sep 19, 2011 at 10:20:38AM -0400, Steve Dickson wrote: > >> > >> > >> On 09/19/2011 09:38 AM, J. Bruce Fields wrote: > >>> diff --git a/configure.ac b/configure.ac > >>> index 1a28f8a..7000324 100644 > >>> --- a/configure.ac > >>> +++ b/configure.ac > >>> @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, > >>> AC_SUBST(enable_nfsv4) > >>> AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) > >>> > >>> -AC_ARG_ENABLE(nfsv41, > >>> - [AC_HELP_STRING([--enable-nfsv41], > >>> - [enable support for NFSv41 @<:@default=no@:>@])], > >>> - enable_nfsv41=$enableval, > >>> - enable_nfsv41=no) > >>> - if test "$enable_nfsv41" = yes; then > >>> - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) > >>> - else > >>> - enable_nfsv41= > >>> - fi > >>> - AC_SUBST(enable_nfsv41) > >>> - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) > >>> - > >> I think we still need this for the 4.1 client code. > > > > OK. Or I can wait and resend a patch after you've committed the changes > > for the client's block daemon, if you'd prefer. > I'll deal with the configure code.... > > > > >>> diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c > >>> index e7e1470..fa9c429 100644 > >>> --- a/utils/nfsd/nfsd.c > >>> +++ b/utils/nfsd/nfsd.c > >>> @@ -40,6 +40,7 @@ static struct option longopts[] = > >>> { "port", 1, 0, 'p' }, > >>> { "debug", 0, 0, 'd' }, > >>> { "syslog", 0, 0, 's' }, > >>> + { "enable-41", 0, 0, 'X' }, > >>> { NULL, 0, 0, 0 } > >>> }; > >> Introducing temporary, undocumented command line arguments > >> is generally not a good thing... IMHO... I was think more > >> of an echo to /proc/fs/nfsd/versions to enable the support. > > > > I think it's a reasonable thing to do for experimental code. > > > > But we could do the following instead. (Warning: still untested.) > > > > --b. > > > > commit 8d69da4c556f8ad2d42caa3875a665761c27463e > > Author: J. Bruce Fields <bfields@citi.umich.edu> > > Date: Thu Dec 17 17:11:54 2009 -0500 > > > > nfsd: allow choosing server 41 support at runtime > > > > In the case where -N 4.1 is left off the commandline, the current code > > explicitly turns it on or off anyway, depending on configure options. > > > > Instead, just leave 4.1 support alone. This allows a user to add an > > "echo +4.1 >/proc/fs/nfsd/versions" to their init scripts, if they want. > > Otherwise they will get the kernel's default (currently to leave 4.1 > > off, as long as 4.1 support is experimental). > I think this is a good compromise... Could you spend a few > cycles on making sure that echo does indeed turn on 4.1 support? Yep, will do. --b. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-19 15:27 ` J. Bruce Fields @ 2011-09-19 18:15 ` J. Bruce Fields 2011-09-20 11:43 ` Steve Dickson 0 siblings, 1 reply; 12+ messages in thread From: J. Bruce Fields @ 2011-09-19 18:15 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List On Mon, Sep 19, 2011 at 11:27:25AM -0400, J. Bruce Fields wrote: > On Mon, Sep 19, 2011 at 11:16:21AM -0400, Steve Dickson wrote: > > > > > > On 09/19/2011 10:35 AM, J. Bruce Fields wrote: > > > On Mon, Sep 19, 2011 at 10:20:38AM -0400, Steve Dickson wrote: > > >> > > >> > > >> On 09/19/2011 09:38 AM, J. Bruce Fields wrote: > > >>> diff --git a/configure.ac b/configure.ac > > >>> index 1a28f8a..7000324 100644 > > >>> --- a/configure.ac > > >>> +++ b/configure.ac > > >>> @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, > > >>> AC_SUBST(enable_nfsv4) > > >>> AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) > > >>> > > >>> -AC_ARG_ENABLE(nfsv41, > > >>> - [AC_HELP_STRING([--enable-nfsv41], > > >>> - [enable support for NFSv41 @<:@default=no@:>@])], > > >>> - enable_nfsv41=$enableval, > > >>> - enable_nfsv41=no) > > >>> - if test "$enable_nfsv41" = yes; then > > >>> - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) > > >>> - else > > >>> - enable_nfsv41= > > >>> - fi > > >>> - AC_SUBST(enable_nfsv41) > > >>> - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) > > >>> - > > >> I think we still need this for the 4.1 client code. > > > > > > OK. Or I can wait and resend a patch after you've committed the changes > > > for the client's block daemon, if you'd prefer. > > I'll deal with the configure code.... > > > > > > > >>> diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c > > >>> index e7e1470..fa9c429 100644 > > >>> --- a/utils/nfsd/nfsd.c > > >>> +++ b/utils/nfsd/nfsd.c > > >>> @@ -40,6 +40,7 @@ static struct option longopts[] = > > >>> { "port", 1, 0, 'p' }, > > >>> { "debug", 0, 0, 'd' }, > > >>> { "syslog", 0, 0, 's' }, > > >>> + { "enable-41", 0, 0, 'X' }, > > >>> { NULL, 0, 0, 0 } > > >>> }; > > >> Introducing temporary, undocumented command line arguments > > >> is generally not a good thing... IMHO... I was think more > > >> of an echo to /proc/fs/nfsd/versions to enable the support. > > > > > > I think it's a reasonable thing to do for experimental code. > > > > > > But we could do the following instead. (Warning: still untested.) > > > > > > --b. > > > > > > commit 8d69da4c556f8ad2d42caa3875a665761c27463e > > > Author: J. Bruce Fields <bfields@citi.umich.edu> > > > Date: Thu Dec 17 17:11:54 2009 -0500 > > > > > > nfsd: allow choosing server 41 support at runtime > > > > > > In the case where -N 4.1 is left off the commandline, the current code > > > explicitly turns it on or off anyway, depending on configure options. > > > > > > Instead, just leave 4.1 support alone. This allows a user to add an > > > "echo +4.1 >/proc/fs/nfsd/versions" to their init scripts, if they want. > > > Otherwise they will get the kernel's default (currently to leave 4.1 > > > off, as long as 4.1 support is experimental). > > I think this is a good compromise... Could you spend a few > > cycles on making sure that echo does indeed turn on 4.1 support? > > Yep, will do. Done; that patch worked for me. Let me know if you need it resent. --b. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option 2011-09-19 18:15 ` J. Bruce Fields @ 2011-09-20 11:43 ` Steve Dickson [not found] ` <4E787C6E.8080104-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 12+ messages in thread From: Steve Dickson @ 2011-09-20 11:43 UTC (permalink / raw) To: J. Bruce Fields; +Cc: Linux NFS Mailing List On 09/19/2011 02:15 PM, J. Bruce Fields wrote: > On Mon, Sep 19, 2011 at 11:27:25AM -0400, J. Bruce Fields wrote: >> On Mon, Sep 19, 2011 at 11:16:21AM -0400, Steve Dickson wrote: >>> >>> >>> On 09/19/2011 10:35 AM, J. Bruce Fields wrote: >>>> On Mon, Sep 19, 2011 at 10:20:38AM -0400, Steve Dickson wrote: >>>>> >>>>> >>>>> On 09/19/2011 09:38 AM, J. Bruce Fields wrote: >>>>>> diff --git a/configure.ac b/configure.ac >>>>>> index 1a28f8a..7000324 100644 >>>>>> --- a/configure.ac >>>>>> +++ b/configure.ac >>>>>> @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, >>>>>> AC_SUBST(enable_nfsv4) >>>>>> AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) >>>>>> >>>>>> -AC_ARG_ENABLE(nfsv41, >>>>>> - [AC_HELP_STRING([--enable-nfsv41], >>>>>> - [enable support for NFSv41 @<:@default=no@:>@])], >>>>>> - enable_nfsv41=$enableval, >>>>>> - enable_nfsv41=no) >>>>>> - if test "$enable_nfsv41" = yes; then >>>>>> - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) >>>>>> - else >>>>>> - enable_nfsv41= >>>>>> - fi >>>>>> - AC_SUBST(enable_nfsv41) >>>>>> - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) >>>>>> - >>>>> I think we still need this for the 4.1 client code. >>>> >>>> OK. Or I can wait and resend a patch after you've committed the changes >>>> for the client's block daemon, if you'd prefer. >>> I'll deal with the configure code.... >>> >>>> >>>>>> diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c >>>>>> index e7e1470..fa9c429 100644 >>>>>> --- a/utils/nfsd/nfsd.c >>>>>> +++ b/utils/nfsd/nfsd.c >>>>>> @@ -40,6 +40,7 @@ static struct option longopts[] = >>>>>> { "port", 1, 0, 'p' }, >>>>>> { "debug", 0, 0, 'd' }, >>>>>> { "syslog", 0, 0, 's' }, >>>>>> + { "enable-41", 0, 0, 'X' }, >>>>>> { NULL, 0, 0, 0 } >>>>>> }; >>>>> Introducing temporary, undocumented command line arguments >>>>> is generally not a good thing... IMHO... I was think more >>>>> of an echo to /proc/fs/nfsd/versions to enable the support. >>>> >>>> I think it's a reasonable thing to do for experimental code. >>>> >>>> But we could do the following instead. (Warning: still untested.) >>>> >>>> --b. >>>> >>>> commit 8d69da4c556f8ad2d42caa3875a665761c27463e >>>> Author: J. Bruce Fields <bfields@citi.umich.edu> >>>> Date: Thu Dec 17 17:11:54 2009 -0500 >>>> >>>> nfsd: allow choosing server 41 support at runtime >>>> >>>> In the case where -N 4.1 is left off the commandline, the current code >>>> explicitly turns it on or off anyway, depending on configure options. >>>> >>>> Instead, just leave 4.1 support alone. This allows a user to add an >>>> "echo +4.1 >/proc/fs/nfsd/versions" to their init scripts, if they want. >>>> Otherwise they will get the kernel's default (currently to leave 4.1 >>>> off, as long as 4.1 support is experimental). >>> I think this is a good compromise... Could you spend a few >>> cycles on making sure that echo does indeed turn on 4.1 support? >> >> Yep, will do. > > Done; that patch worked for me. Let me know if you need it resent. No need... Its committed... steved. ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <4E787C6E.8080104-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH 1/2] configure.ac: Added server 4.1 support configuration option [not found] ` <4E787C6E.8080104-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org> @ 2011-09-20 11:47 ` J. Bruce Fields 0 siblings, 0 replies; 12+ messages in thread From: J. Bruce Fields @ 2011-09-20 11:47 UTC (permalink / raw) To: Steve Dickson; +Cc: Linux NFS Mailing List On Tue, Sep 20, 2011 at 07:43:42AM -0400, Steve Dickson wrote: > > > On 09/19/2011 02:15 PM, J. Bruce Fields wrote: > > On Mon, Sep 19, 2011 at 11:27:25AM -0400, J. Bruce Fields wrote: > >> On Mon, Sep 19, 2011 at 11:16:21AM -0400, Steve Dickson wrote: > >>> > >>> > >>> On 09/19/2011 10:35 AM, J. Bruce Fields wrote: > >>>> On Mon, Sep 19, 2011 at 10:20:38AM -0400, Steve Dickson wrote: > >>>>> > >>>>> > >>>>> On 09/19/2011 09:38 AM, J. Bruce Fields wrote: > >>>>>> diff --git a/configure.ac b/configure.ac > >>>>>> index 1a28f8a..7000324 100644 > >>>>>> --- a/configure.ac > >>>>>> +++ b/configure.ac > >>>>>> @@ -73,19 +73,6 @@ AC_ARG_ENABLE(nfsv4, > >>>>>> AC_SUBST(enable_nfsv4) > >>>>>> AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"]) > >>>>>> > >>>>>> -AC_ARG_ENABLE(nfsv41, > >>>>>> - [AC_HELP_STRING([--enable-nfsv41], > >>>>>> - [enable support for NFSv41 @<:@default=no@:>@])], > >>>>>> - enable_nfsv41=$enableval, > >>>>>> - enable_nfsv41=no) > >>>>>> - if test "$enable_nfsv41" = yes; then > >>>>>> - AC_DEFINE(NFS41_SUPPORTED, 1, [Define this if you want NFSv41 support compiled in]) > >>>>>> - else > >>>>>> - enable_nfsv41= > >>>>>> - fi > >>>>>> - AC_SUBST(enable_nfsv41) > >>>>>> - AM_CONDITIONAL(CONFIG_NFSV41, [test "$enable_nfsv41" = "yes"]) > >>>>>> - > >>>>> I think we still need this for the 4.1 client code. > >>>> > >>>> OK. Or I can wait and resend a patch after you've committed the changes > >>>> for the client's block daemon, if you'd prefer. > >>> I'll deal with the configure code.... > >>> > >>>> > >>>>>> diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c > >>>>>> index e7e1470..fa9c429 100644 > >>>>>> --- a/utils/nfsd/nfsd.c > >>>>>> +++ b/utils/nfsd/nfsd.c > >>>>>> @@ -40,6 +40,7 @@ static struct option longopts[] = > >>>>>> { "port", 1, 0, 'p' }, > >>>>>> { "debug", 0, 0, 'd' }, > >>>>>> { "syslog", 0, 0, 's' }, > >>>>>> + { "enable-41", 0, 0, 'X' }, > >>>>>> { NULL, 0, 0, 0 } > >>>>>> }; > >>>>> Introducing temporary, undocumented command line arguments > >>>>> is generally not a good thing... IMHO... I was think more > >>>>> of an echo to /proc/fs/nfsd/versions to enable the support. > >>>> > >>>> I think it's a reasonable thing to do for experimental code. > >>>> > >>>> But we could do the following instead. (Warning: still untested.) > >>>> > >>>> --b. > >>>> > >>>> commit 8d69da4c556f8ad2d42caa3875a665761c27463e > >>>> Author: J. Bruce Fields <bfields@citi.umich.edu> > >>>> Date: Thu Dec 17 17:11:54 2009 -0500 > >>>> > >>>> nfsd: allow choosing server 41 support at runtime > >>>> > >>>> In the case where -N 4.1 is left off the commandline, the current code > >>>> explicitly turns it on or off anyway, depending on configure options. > >>>> > >>>> Instead, just leave 4.1 support alone. This allows a user to add an > >>>> "echo +4.1 >/proc/fs/nfsd/versions" to their init scripts, if they want. > >>>> Otherwise they will get the kernel's default (currently to leave 4.1 > >>>> off, as long as 4.1 support is experimental). > >>> I think this is a good compromise... Could you spend a few > >>> cycles on making sure that echo does indeed turn on 4.1 support? > >> > >> Yep, will do. > > > > Done; that patch worked for me. Let me know if you need it resent. > No need... Its committed... Thanks!--b. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2011-09-20 11:47 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-09-17 15:17 [PATCH 1/2] configure.ac: Added server 4.1 support configuration option Steve Dickson 2011-09-17 15:17 ` [PATCH 2/2] configure.ac: Remove unused NFS3_SUPPORTED define Steve Dickson 2011-09-17 18:36 ` [PATCH 1/2] configure.ac: Added server 4.1 support configuration option J. Bruce Fields 2011-09-19 9:51 ` Steve Dickson 2011-09-19 13:38 ` J. Bruce Fields 2011-09-19 14:20 ` Steve Dickson 2011-09-19 14:35 ` J. Bruce Fields 2011-09-19 15:16 ` Steve Dickson 2011-09-19 15:27 ` J. Bruce Fields 2011-09-19 18:15 ` J. Bruce Fields 2011-09-20 11:43 ` Steve Dickson [not found] ` <4E787C6E.8080104-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org> 2011-09-20 11:47 ` J. Bruce Fields
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).