When compiling fs/nfsd/nfs4xdr.c, I get a warning:
fs/nfsd/nfs4xdr.c: In function `nfsd4_encode_open':
fs/nfsd/nfs4xdr.c:1773: warning: `return' with a value, in function
returning void
This patch fixes it. I'm not 100% sure about it, but it seems
correct, and the return value is ignored anyway...
diff --exclude-from /home/muli/p/dontdiff -Naur ../linux-2.5/fs/nfsd/nfs4xdr.c 2.6.0-t5-Werror/fs/nfsd/nfs4xdr.c
--- ../linux-2.5/fs/nfsd/nfs4xdr.c Tue Sep 2 12:51:06 2003
+++ 2.6.0-t5-Werror/fs/nfsd/nfs4xdr.c Sun Sep 21 10:18:19 2003
@@ -1709,13 +1709,13 @@
}
-static void
+static int
nfsd4_encode_open(struct nfsd4_compoundres *resp, int nfserr, struct nfsd4_open *open)
{
ENCODE_HEAD;
if (nfserr)
- return;
+ return nfserr;
RESERVE_SPACE(36 + sizeof(stateid_t));
WRITE32(open->op_stateid.si_generation);
--
Muli Ben-Yehuda
http://www.mulix.org
On Sunday September 21, [email protected] wrote:
> When compiling fs/nfsd/nfs4xdr.c, I get a warning:
>
> fs/nfsd/nfs4xdr.c: In function `nfsd4_encode_open':
> fs/nfsd/nfs4xdr.c:1773: warning: `return' with a value, in function
> returning void
>
> This patch fixes it. I'm not 100% sure about it, but it seems
> correct, and the return value is ignored anyway...
As the return value is ignored, we really shouldn't be returning one.
I have just sent a patch to Linus which fixes this problem
differently: by making nfsd4_encode_open never return anything.
Thanks,
NeilBrown
>
> diff --exclude-from /home/muli/p/dontdiff -Naur ../linux-2.5/fs/nfsd/nfs4xdr.c 2.6.0-t5-Werror/fs/nfsd/nfs4xdr.c
> --- ../linux-2.5/fs/nfsd/nfs4xdr.c Tue Sep 2 12:51:06 2003
> +++ 2.6.0-t5-Werror/fs/nfsd/nfs4xdr.c Sun Sep 21 10:18:19 2003
> @@ -1709,13 +1709,13 @@
> }
>
>
> -static void
> +static int
> nfsd4_encode_open(struct nfsd4_compoundres *resp, int nfserr, struct nfsd4_open *open)
> {
> ENCODE_HEAD;
>
> if (nfserr)
> - return;
> + return nfserr;
>
> RESERVE_SPACE(36 + sizeof(stateid_t));
> WRITE32(open->op_stateid.si_generation);
>
> --
> Muli Ben-Yehuda
> http://www.mulix.org
>