From 646a6508c51d80767a36e6f938b7d8e9e536c5c5 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Tue, 16 Jul 2013 09:13:07 +0200 Subject: [PATCH] Correctly print out 'max' for max_fds If the value specified for 'max_fds' is the system-wide limit we should be printing out 'max', and not that value. Signed-off-by: Hannes Reinecke --- libmultipath/dict.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libmultipath/dict.c b/libmultipath/dict.c index b747fcdc..6a58fa2b 100644 --- a/libmultipath/dict.c +++ b/libmultipath/dict.c @@ -2565,10 +2565,16 @@ snprint_def_rr_min_io_rq (char * buff, int len, void * data) static int snprint_max_fds (char * buff, int len, void * data) { + int r = 0, max_fds; + if (!conf->max_fds) return 0; - return snprintf(buff, len, "%d", conf->max_fds); + r = get_sys_max_fds(&max_fds); + if (!r && max_fds == conf->max_fds) + return snprintf(buff, len, "\"max\""); + else + return snprintf(buff, len, "%d", conf->max_fds); } static int -- 2.20.1