diff mbox

Removed compilation warnings from mountd/cache.c

Message ID 1305561014-25688-1-git-send-email-steved@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Steve Dickson May 16, 2011, 3:50 p.m. UTC
Commit 5604b35a6 introduced a number of missing initializer
warnings that were missed. This patch removes those warnings.

Signed-off-by: Steve Dickson <steved@redhat.com>
---
 utils/mountd/cache.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

Comments

J. Bruce Fields May 16, 2011, 5:29 p.m. UTC | #1
On Mon, May 16, 2011 at 11:50:14AM -0400, Steve Dickson wrote:
> Commit 5604b35a6 introduced a number of missing initializer
> warnings that were missed. This patch removes those warnings.
> 
> Signed-off-by: Steve Dickson <steved@redhat.com>
> ---
>  utils/mountd/cache.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
> index df6b38f..86a2790 100644
> --- a/utils/mountd/cache.c
> +++ b/utils/mountd/cache.c
> @@ -825,7 +825,6 @@ struct {
>  	char *cache_name;
>  	void (*cache_handle)(FILE *f);
>  	FILE *f;
> -	char vbuf[RPC_CHAN_BUF_SIZE];
>  } cachelist[] = {
>  	{ "auth.unix.ip", auth_unix_ip, NULL},
>  	{ "auth.unix.gid", auth_unix_gid, NULL},
> @@ -833,6 +832,9 @@ struct {
>  	{ "nfsd.fh", nfsd_fh, NULL},
>  	{ NULL, NULL, NULL }
>  };
> +struct vbs {
> +	char vbuf[RPC_CHAN_BUF_SIZE];
> +} vbufs [(sizeof(cachelist)/sizeof(cachelist[0])) - 1];

Weird--why does that make a difference?  It's statically initialized
memory either way, isn't it?

I prefer the way it is now.  The buffer belongs logically with the other
data associated with its cache file.

--b.

>  
>  extern int manage_gids;
>  
> @@ -850,7 +852,7 @@ void cache_open(void)
>  		sprintf(path, "/proc/net/rpc/%s/channel", cachelist[i].cache_name);
>  		cachelist[i].f = fopen(path, "r+");
>  		if (cachelist[i].f != NULL) {
> -			setvbuf(cachelist[i].f, cachelist[i].vbuf, _IOLBF, 
> +			setvbuf(cachelist[i].f, vbufs[i].vbuf, _IOLBF, 
>  				RPC_CHAN_BUF_SIZE);
>  		}
>  	}
> -- 
> 1.7.4.4
> 
> --
> 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
--
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
Jim Rees May 16, 2011, 7:18 p.m. UTC | #2
J. Bruce Fields wrote:

  On Mon, May 16, 2011 at 11:50:14AM -0400, Steve Dickson wrote:
  > Commit 5604b35a6 introduced a number of missing initializer
  > warnings that were missed. This patch removes those warnings.
  > 
  > Signed-off-by: Steve Dickson <steved@redhat.com>
  > ---
  >  utils/mountd/cache.c |    6 ++++--
  >  1 files changed, 4 insertions(+), 2 deletions(-)
  > 
  > diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
  > index df6b38f..86a2790 100644
  > --- a/utils/mountd/cache.c
  > +++ b/utils/mountd/cache.c
  > @@ -825,7 +825,6 @@ struct {
  >  	char *cache_name;
  >  	void (*cache_handle)(FILE *f);
  >  	FILE *f;
  > -	char vbuf[RPC_CHAN_BUF_SIZE];
  >  } cachelist[] = {
  >  	{ "auth.unix.ip", auth_unix_ip, NULL},
  >  	{ "auth.unix.gid", auth_unix_gid, NULL},
  > @@ -833,6 +832,9 @@ struct {
  >  	{ "nfsd.fh", nfsd_fh, NULL},
  >  	{ NULL, NULL, NULL }
  >  };
  > +struct vbs {
  > +	char vbuf[RPC_CHAN_BUF_SIZE];
  > +} vbufs [(sizeof(cachelist)/sizeof(cachelist[0])) - 1];
  
  Weird--why does that make a difference?  It's statically initialized
  memory either way, isn't it?

The problem is the vbuf item was added to the struct but no initializer was
given for it.  It could also have been fixed by supplying the missing
initializer:

	{ "auth.unix.ip", auth_unix_ip, NULL, ""}, ...
--
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
J. Bruce Fields May 16, 2011, 7:25 p.m. UTC | #3
On Mon, May 16, 2011 at 03:18:11PM -0400, Jim Rees wrote:
> J. Bruce Fields wrote:
> 
>   On Mon, May 16, 2011 at 11:50:14AM -0400, Steve Dickson wrote:
>   > Commit 5604b35a6 introduced a number of missing initializer
>   > warnings that were missed. This patch removes those warnings.
>   > 
>   > Signed-off-by: Steve Dickson <steved@redhat.com>
>   > ---
>   >  utils/mountd/cache.c |    6 ++++--
>   >  1 files changed, 4 insertions(+), 2 deletions(-)
>   > 
>   > diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
>   > index df6b38f..86a2790 100644
>   > --- a/utils/mountd/cache.c
>   > +++ b/utils/mountd/cache.c
>   > @@ -825,7 +825,6 @@ struct {
>   >  	char *cache_name;
>   >  	void (*cache_handle)(FILE *f);
>   >  	FILE *f;
>   > -	char vbuf[RPC_CHAN_BUF_SIZE];
>   >  } cachelist[] = {
>   >  	{ "auth.unix.ip", auth_unix_ip, NULL},
>   >  	{ "auth.unix.gid", auth_unix_gid, NULL},
>   > @@ -833,6 +832,9 @@ struct {
>   >  	{ "nfsd.fh", nfsd_fh, NULL},
>   >  	{ NULL, NULL, NULL }
>   >  };
>   > +struct vbs {
>   > +	char vbuf[RPC_CHAN_BUF_SIZE];
>   > +} vbufs [(sizeof(cachelist)/sizeof(cachelist[0])) - 1];
>   
>   Weird--why does that make a difference?  It's statically initialized
>   memory either way, isn't it?
> 
> The problem is the vbuf item was added to the struct but no initializer was
> given for it.  It could also have been fixed by supplying the missing
> initializer:
> 
> 	{ "auth.unix.ip", auth_unix_ip, NULL, ""}, ...

Oh, OK.  Then could we do that, Steve, instead of moving the buffer
to a separate structure?

--b.
--
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
Steve Dickson May 17, 2011, 2 p.m. UTC | #4
On 05/16/2011 03:25 PM, J. Bruce Fields wrote:
> On Mon, May 16, 2011 at 03:18:11PM -0400, Jim Rees wrote:
>> J. Bruce Fields wrote:
>>
>>   On Mon, May 16, 2011 at 11:50:14AM -0400, Steve Dickson wrote:
>>   > Commit 5604b35a6 introduced a number of missing initializer
>>   > warnings that were missed. This patch removes those warnings.
>>   > 
>>   > Signed-off-by: Steve Dickson <steved@redhat.com>
>>   > ---
>>   >  utils/mountd/cache.c |    6 ++++--
>>   >  1 files changed, 4 insertions(+), 2 deletions(-)
>>   > 
>>   > diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
>>   > index df6b38f..86a2790 100644
>>   > --- a/utils/mountd/cache.c
>>   > +++ b/utils/mountd/cache.c
>>   > @@ -825,7 +825,6 @@ struct {
>>   >  	char *cache_name;
>>   >  	void (*cache_handle)(FILE *f);
>>   >  	FILE *f;
>>   > -	char vbuf[RPC_CHAN_BUF_SIZE];
>>   >  } cachelist[] = {
>>   >  	{ "auth.unix.ip", auth_unix_ip, NULL},
>>   >  	{ "auth.unix.gid", auth_unix_gid, NULL},
>>   > @@ -833,6 +832,9 @@ struct {
>>   >  	{ "nfsd.fh", nfsd_fh, NULL},
>>   >  	{ NULL, NULL, NULL }
>>   >  };
>>   > +struct vbs {
>>   > +	char vbuf[RPC_CHAN_BUF_SIZE];
>>   > +} vbufs [(sizeof(cachelist)/sizeof(cachelist[0])) - 1];
>>   
>>   Weird--why does that make a difference?  It's statically initialized
>>   memory either way, isn't it?
>>
>> The problem is the vbuf item was added to the struct but no initializer was
>> given for it.  It could also have been fixed by supplying the missing
>> initializer:
>>
>> 	{ "auth.unix.ip", auth_unix_ip, NULL, ""}, ...
> 
> Oh, OK.  Then could we do that, Steve, instead of moving the buffer
> to a separate structure?
Good point... I thought I tried added a "" and it warnings still 
appeared, which was the reason for the extra structure.... I guess
I was a bit confused... because by far adding  "" is a much better fix.... 

thanks!

steved.
--
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
diff mbox

Patch

diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index df6b38f..86a2790 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -825,7 +825,6 @@  struct {
 	char *cache_name;
 	void (*cache_handle)(FILE *f);
 	FILE *f;
-	char vbuf[RPC_CHAN_BUF_SIZE];
 } cachelist[] = {
 	{ "auth.unix.ip", auth_unix_ip, NULL},
 	{ "auth.unix.gid", auth_unix_gid, NULL},
@@ -833,6 +832,9 @@  struct {
 	{ "nfsd.fh", nfsd_fh, NULL},
 	{ NULL, NULL, NULL }
 };
+struct vbs {
+	char vbuf[RPC_CHAN_BUF_SIZE];
+} vbufs [(sizeof(cachelist)/sizeof(cachelist[0])) - 1];
 
 extern int manage_gids;
 
@@ -850,7 +852,7 @@  void cache_open(void)
 		sprintf(path, "/proc/net/rpc/%s/channel", cachelist[i].cache_name);
 		cachelist[i].f = fopen(path, "r+");
 		if (cachelist[i].f != NULL) {
-			setvbuf(cachelist[i].f, cachelist[i].vbuf, _IOLBF, 
+			setvbuf(cachelist[i].f, vbufs[i].vbuf, _IOLBF, 
 				RPC_CHAN_BUF_SIZE);
 		}
 	}