[-,nfs-utils] gssd: use correct test for success of getrlimit()
diff mbox

Message ID 20130219113102.265d9d03@notabene.brown
State New, archived
Headers show

Commit Message

NeilBrown Feb. 19, 2013, 12:31 a.m. UTC
commit 7c5cb5e732a4b8704f8c79ec819c5d271e040339
    gssd: base the size of the fd array on the RLIMIT_NOFILE limit.

didn't actually work as claimed.  It only uses the returned value
if getrlimit() returns -1  -- which of course it only does when
there was an error.

So change the test to "== 0".

Reported-by: Leonardo Chiquitto< lchiquitto@suse.com>
Signed-off-by: NeilBrown <neilb@suse.de>

--
hangs head in shame .... NeilBrown

Comments

Steve Dickson March 25, 2013, 2:15 p.m. UTC | #1
On 18/02/13 19:31, NeilBrown wrote:
> 
> commit 7c5cb5e732a4b8704f8c79ec819c5d271e040339
>     gssd: base the size of the fd array on the RLIMIT_NOFILE limit.
> 
> didn't actually work as claimed.  It only uses the returned value
> if getrlimit() returns -1  -- which of course it only does when
> there was an error.
> 
> So change the test to "== 0".
> 
> Reported-by: Leonardo Chiquitto< lchiquitto@suse.com>
> Signed-off-by: NeilBrown <neilb@suse.de>
> 
> --
> hangs head in shame .... NeilBrown
Committed... 

steved.

> 
> diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c
> index c17ab3b..e10bda6 100644
> --- a/utils/gssd/gssd_proc.c
> +++ b/utils/gssd/gssd_proc.c
> @@ -477,7 +477,7 @@ init_client_list(void)
>  	TAILQ_INIT(&clnt_list);
>  	/* Eventually plan to grow/shrink poll array: */
>  	pollsize = FD_ALLOC_BLOCK;
> -	if (getrlimit(RLIMIT_NOFILE, &rlim) < 0 &&
> +	if (getrlimit(RLIMIT_NOFILE, &rlim) == 0 &&
>  	    rlim.rlim_cur != RLIM_INFINITY)
>  		pollsize = rlim.rlim_cur;
>  	pollarray = calloc(pollsize, sizeof(struct pollfd));
> 
--
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

Patch
diff mbox

diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c
index c17ab3b..e10bda6 100644
--- a/utils/gssd/gssd_proc.c
+++ b/utils/gssd/gssd_proc.c
@@ -477,7 +477,7 @@  init_client_list(void)
 	TAILQ_INIT(&clnt_list);
 	/* Eventually plan to grow/shrink poll array: */
 	pollsize = FD_ALLOC_BLOCK;
-	if (getrlimit(RLIMIT_NOFILE, &rlim) < 0 &&
+	if (getrlimit(RLIMIT_NOFILE, &rlim) == 0 &&
 	    rlim.rlim_cur != RLIM_INFINITY)
 		pollsize = rlim.rlim_cur;
 	pollarray = calloc(pollsize, sizeof(struct pollfd));