2006-07-03 00:22:18

by NeilBrown

[permalink] [raw]
Subject: nfs-utils 1.0.9-rc1 - hopefully -final in a week


Hi,
I'd like to put out nfs-utils-1.0.9 by the end of the week.
There is (or will soon be) a -pre1 in
http://www.kernel.org/pub/linux/utils/nfs/
and
git://linux-nfs.org/nfs-utils

Recent changes can been seen at
http://linux-nfs.org/cgi-bin/gitweb.cgi?p=nfs-utils;a=log

If anyone cares to do some testing that would be great.

If anyone has patches that are ready and that I haven't included, now
might be a good time to send them to me.

If they aren't quite ready, don't rush - I'd like to put out
releases a little more often than once per year (which is what it was
a for a while) so there will be another chance in a month or two or
three.

NeilBrown

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs


2006-07-03 07:34:30

by Greg Banks

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Mon, 2006-07-03 at 10:22, Neil Brown wrote:
> If anyone has patches that are ready and that I haven't included, now
> might be a good time to send them to me.

I believe I've managed to wrestle git to the ground, can you try

git pull git://oss.sgi.com:8090/gnb/nfs-utils

It's a bunch of mostly harmless warning fixes. I can now
build nfs-utils on sles10 with no warnings except from the
generated *xdr.c files. You may not agree with the way
I've used socklen_t conditionally, any feedback appreciated.

Thanks to Keith Owens and Nathan Scott for git help.

Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.



Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-04 00:41:07

by NeilBrown

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Monday July 3, [email protected] wrote:
> On Mon, 2006-07-03 at 10:22, Neil Brown wrote:
> > If anyone has patches that are ready and that I haven't included, now
> > might be a good time to send them to me.
>
> I believe I've managed to wrestle git to the ground, can you try
>
> git pull git://oss.sgi.com:8090/gnb/nfs-utils
>
> It's a bunch of mostly harmless warning fixes. I can now
> build nfs-utils on sles10 with no warnings except from the
> generated *xdr.c files. You may not agree with the way
> I've used socklen_t conditionally, any feedback appreciated.

Thanks for doing these, and for giving me an excuse to try out more of
git.
All these changes look fine.

For the generates *xdr.c files, what would you think of this change?
It seems to do the right thing. Each variable declaration is followed
by a (void) usage of it. Slightly gross, but auto-generated code
often is ;-)

NeilBrown


--- /home/git/nfs-utils/tools/rpcgen/rpc_cout.c 2006-07-04 10:13:49.000000000 +1000
+++ tools/rpcgen/rpc_cout.c 2006-07-04 10:36:43.000000000 +1000
@@ -165,7 +165,7 @@
if (Inline == 0)
return;
/* May cause lint to complain. but ... */
- f_print(fout, "\t register int32_t *buf;\n\n");
+ f_print(fout, "\t register int32_t *buf; (void)buf;\n\t{\n\n");
}

static void
@@ -177,7 +177,7 @@
static void
print_trailer(void)
{
- f_print(fout, "\treturn (TRUE);\n");
+ f_print(fout, "\t}\n\treturn (TRUE);\n");
f_print(fout, "}\n");
}

@@ -399,7 +399,7 @@

for (dl = def->def.st.decls; dl != NULL; dl = dl->next)
if (dl->decl.rel == REL_VECTOR) {
- f_print(fout, "\t int i;\n");
+ f_print(fout, "\t int i;(void)i;\n");
break;
}
size = 0;

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-04 04:17:57

by Greg Banks

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Tue, 2006-07-04 at 10:40, Neil Brown wrote:
> On Monday July 3, [email protected] wrote:
> Thanks for doing these, and for giving me an excuse to try out more of
> git.

No worries, it gave me an excuse too ;-)

> For the generates *xdr.c files, what would you think of this change?
> It seems to do the right thing. Each variable declaration is followed
> by a (void) usage of it. Slightly gross, but auto-generated code
> often is ;-)

I think the following patch is cleaner. It eliminates the
warnings about `buf' being unused by generating the declaration
on first demand. As a result most XDR routines don't have
a `buf' declaration at all; those that do inlining have two,
one each in the encode and decode branch. Comments?

I'll see if I can do something equivalent for that pesky `i' too.

diff-tree 18ffd1f098436ebfb99291815dfd3463a41fcb3f (from 4e9ed06f8f8a0cd9f34a6830c0ff14344a528042)
Author: Greg Banks <[email protected]>
Date: Tue Jul 4 14:07:11 2006 +1000

Eliminate warnings about unused variable `buf' in generated
XDR code by emitting a declaration for `buf' on demand.

diff --git a/tools/rpcgen/rpc_cout.c b/tools/rpcgen/rpc_cout.c
index cae8717..26dc466 100644
--- a/tools/rpcgen/rpc_cout.c
+++ b/tools/rpcgen/rpc_cout.c
@@ -164,8 +164,6 @@ print_header(definition *def)

if (Inline == 0)
return;
- /* May cause lint to complain. but ... */
- f_print(fout, "\t register int32_t *buf;\n\n");
}

static void
@@ -390,6 +388,7 @@ emit_struct(definition *def)
char *sizestr, *plus;
char ptemp[256];
int can_inline;
+ const char *buf_declaration;


if (Inline == 0) {
@@ -444,6 +443,7 @@ emit_struct(definition *def)
i = 0;
size = 0;
sizestr = NULL;
+ buf_declaration = "int32_t *";
for (dl = def->def.st.decls; dl != NULL; dl = dl->next) { /* xxx */

/* now walk down the list and check for basic types */
@@ -497,16 +497,17 @@ emit_struct(definition *def)

/* were already looking at a xdr_inlineable structure */
if (sizestr == NULL)
- f_print(fout, "\t buf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
- size);
+ f_print(fout, "\t %sbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
+ buf_declaration, size);
else if (size == 0)
f_print(fout,
- "\t buf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
- sizestr);
+ "\t %sbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
+ buf_declaration, sizestr);
else
f_print(fout,
- "\t buf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
- size, sizestr);
+ "\t %sbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
+ buf_declaration, size, sizestr);
+ buf_declaration = "";

f_print(fout, "\n\t if (buf == NULL) {\n");

@@ -546,16 +547,17 @@ emit_struct(definition *def)

/* were already looking at a xdr_inlineable structure */
if (sizestr == NULL)
- f_print(fout, "\t\tbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
- size);
+ f_print(fout, "\t\t%sbuf = XDR_INLINE(xdrs,%d * BYTES_PER_XDR_UNIT);",
+ buf_declaration, size);
else if (size == 0)
f_print(fout,
- "\t\tbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
- sizestr);
+ "\t\t%sbuf = XDR_INLINE(xdrs,%s * BYTES_PER_XDR_UNIT);",
+ buf_declaration, sizestr);
else
f_print(fout,
- "\t\tbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
- size, sizestr);
+ "\t\t%sbuf = XDR_INLINE(xdrs,(%d + %s)* BYTES_PER_XDR_UNIT);",
+ buf_declaration, size, sizestr);
+ buf_declaration = "";

f_print(fout, "\n\t\tif (buf == NULL) {\n");


Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.



Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-04 07:47:47

by NeilBrown

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Tuesday July 4, [email protected] wrote:
> On Tue, 2006-07-04 at 10:40, Neil Brown wrote:
> > For the generates *xdr.c files, what would you think of this change?
> > It seems to do the right thing. Each variable declaration is followed
> > by a (void) usage of it. Slightly gross, but auto-generated code
> > often is ;-)
>
> I think the following patch is cleaner. It eliminates the
> warnings about `buf' being unused by generating the declaration
> on first demand. As a result most XDR routines don't have
> a `buf' declaration at all; those that do inlining have two,
> one each in the encode and decode branch. Comments?

My likey.

>
> I'll see if I can do something equivalent for that pesky `i' too.

That seems to be very straight forward.

The only place that the 'i' variable is used is in code generated by
emit_inline, and that is already in a local block where 'genp'
is declared. We can just declare 'i' at the same time.

I'll add that to your patch and stick it in .git

Thanks,
NeilBrown

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-04 07:57:29

by Greg Banks

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Tue, 2006-07-04 at 17:47, Neil Brown wrote:
> The only place that the 'i' variable is used is in code generated by
> emit_inline, and that is already in a local block where 'genp'
> is declared. We can just declare 'i' at the same time.
>
> I'll add that to your patch and stick it in .git

Yep. That leaves just two warnings.

The first is the whiny message about the result of IXDR_PUT_SHORT()
not being used. I can't see any way around that except a (void)
cast, like this:

diff-tree cdb0a2d31b63eb6a25ea518a8adcb5029ab6c460 (from 65ae2312a99cb36fbcf4b369200de365810b7015)
Author: Greg Banks <[email protected]>
Date: Tue Jul 4 17:54:42 2006 +1000

Remove warning about unused value of IXDR_PUT_{LONG,SHORT}.

diff --git a/tools/rpcgen/rpc_cout.c b/tools/rpcgen/rpc_cout.c
index f78961c..9c32b8a 100644
--- a/tools/rpcgen/rpc_cout.c
+++ b/tools/rpcgen/rpc_cout.c
@@ -646,7 +646,7 @@ emit_single_in_line(declaration *decl, i
int freed=0;

if(flag == PUT)
- f_print(fout,"\t\t IXDR_PUT_");
+ f_print(fout,"\t\t (void) IXDR_PUT_");
else
if(rel== REL_ALIAS)
f_print(fout,"\t\t objp->%s = IXDR_GET_",decl->name);


Then there's the type-punned pointer warning. I hate those.


Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.



Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-04 08:36:59

by NeilBrown

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Tuesday July 4, [email protected] wrote:
> On Tue, 2006-07-04 at 17:47, Neil Brown wrote:
> > The only place that the 'i' variable is used is in code generated by
> > emit_inline, and that is already in a local block where 'genp'
> > is declared. We can just declare 'i' at the same time.
> >
> > I'll add that to your patch and stick it in .git
>
> Yep. That leaves just two warnings.
>
> The first is the whiny message about the result of IXDR_PUT_SHORT()
> not being used. I can't see any way around that except a (void)
> cast, like this:
>

That'll do.

>
> Then there's the type-punned pointer warning. I hate those.

Here is a trick that google helped me find. I hope it isn't worse
that the disease :-)

All in .git now, thanks.

NeilBrown


@@ -266,7 +264,8 @@ print_ifstat(int indent, char *prefix, c
} else {
print_ifopen(indent, "array");
}
- print_ifarg("(char **)");
+ /* The (void*) avoids a gcc-4.1 warning */
+ print_ifarg("(char **)(void*)");
if (*objname == '&') {
f_print(fout, "%s.%s_val, (u_int *)%s.%s_len",
objname, name, objname, name);

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-04 09:09:16

by Greg Banks

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Tue, 2006-07-04 at 18:36, Neil Brown wrote:
> On Tuesday July 4, [email protected] wrote:
> > Then there's the type-punned pointer warning. I hate those.
>
> Here is a trick that google helped me find. I hope it isn't worse
> that the disease :-)

Looks fine.

> All in .git now, thanks.

Yay, no warnings ;-)

Greg.
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.



Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-05 06:03:15

by NeilBrown

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Tuesday July 4, [email protected] wrote:
>
> The patch attached here reads /proc/net/rpc/nfsd for nfsv4 server
> statistics and displays them.
>
> To maintain uniformity with older nfs versions operations 0 1 and 2
> are also printed though they are not used by nfsv4.

Good..

> @@ -115,6 +126,7 @@ static statinfo svcinfo[] = {
> { "proc2", STRUCTSIZE(svcv2info), svcv2info },
> { "proc3", STRUCTSIZE(svcv3info), svcv3info },
> { "proc4", STRUCTSIZE(svcv4info), svcv4info },
> + { "proc4ops", STRUCTSIZE(svcv4opinfo),svcv4opinfo},
> { NULL, 0, NULL }
> };
>

As it is called 'proc4ops', does that mean it will apply to all
minor-versions, or do we expect a
proc4.1ops

for NFSv4.1? Or maybe proc4ops.1 ??

It doesn't really matter one way or the other, but I would like to
know that the issue has been considered, and to know what the current
decision is.

(Meanwhile, The current patch is in .git waiting for the 1.0.9
release).

NeilBrown

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-05 06:17:36

by Shankar Anand

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

Hi Neil,

>>> On 7/5/2006 at 11:33 AM, Neil Brown <[email protected]> wrote:
> On Tuesday July 4, [email protected] wrote:
>>
>> The patch attached here reads /proc/net/rpc/nfsd for nfsv4 server
>> statistics and displays them.
>>
>> To maintain uniformity with older nfs versions operations 0 1 and 2
>> are also printed though they are not used by nfsv4.
>
> Good..
>
>> @@ -115,6 +126,7 @@ static statinfo svcinfo[] = {
>> { "proc2", STRUCTSIZE(svcv2info), svcv2info },
>> { "proc3", STRUCTSIZE(svcv3info), svcv3info },
>> { "proc4", STRUCTSIZE(svcv4info), svcv4info },
>> + { "proc4ops", STRUCTSIZE(svcv4opinfo),svcv4opinfo},
>> { NULL, 0, NULL }
>> };
>>
>
> As it is called 'proc4ops', does that mean it will apply to all
> minor-versions, or do we expect a
> proc4.1ops
>
> for NFSv4.1? Or maybe proc4ops.1 ??
>
> It doesn't really matter one way or the other, but I would like to
> know that the issue has been considered, and to know what the
current
> decision is.

Though the issue has not been discussed earlier on the mailing list,
my thought when I wrote the patch was that instead of creating
new lines for each minor version (which may lead to confusion),
we can add the additional procedures, if at all, to the same line.

Anyway the server is going to have either nfs4 or nfs4.1 running at
one point in time. So it should be fine.

> (Meanwhile, The current patch is in .git waiting for the 1.0.9
> release).

Thanks.

Shankar

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-05 07:07:19

by NeilBrown

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

On Wednesday July 5, [email protected] wrote:
>
> Anyway the server is going to have either nfs4 or nfs4.1 running at
> one point in time. So it should be fine.
>

I don't think that is true.
A server needs to support multiple versions - at least as an option,
just as we now support v2, v3, and v4.

But I suspect it is a question that can be safely left until it is a
real issue.

Thanks,
NeilBrown

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2006-07-06 17:33:03

by Wendy Cheng

[permalink] [raw]
Subject: Re: nfs-utils 1.0.9-rc1 - hopefully -final in a week

Neil Brown wrote:

>We can do another release in August if that turns out to be
>useful.
>
>

Ok, decided *not* to rush NLM lock failover into this - August schedule
would be better. Thanks for the comments and helps we've received so far.

-- Wendy

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs