]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ipvs: change type of netns_ipvs->sysctl_sync_qlen_max
authorZhang Yanfei <zhangyanfei@cn.fujitsu.com>
Tue, 26 Mar 2013 23:24:12 +0000 (10:24 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 4 Apr 2013 06:04:11 +0000 (17:04 +1100)
This member of struct netns_ipvs is calculated from nr_free_buffer_pages
so change its type to unsigned long in case of overflow.  Also, type of
its related proc var sync_qlen_max and the return type of function
sysctl_sync_qlen_max() should be changed to unsigned long, too.

Besides, the type of ipvs_master_sync_state->sync_queue_len should be
changed to unsigned long accordingly.

Signed-off-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Cc: Simon Horman <horms@verge.net.au>
Cc: Julian Anastasov <ja@ssi.bg>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/net/ip_vs.h
net/netfilter/ipvs/ip_vs_ctl.c

index bee87badabef4820031dd444ca99cc2417705501..85996db7b3d5c20ea84343182ef0a907d9c928b4 100644 (file)
@@ -874,7 +874,7 @@ struct ip_vs_app {
 struct ipvs_master_sync_state {
        struct list_head        sync_queue;
        struct ip_vs_sync_buff  *sync_buff;
-       int                     sync_queue_len;
+       unsigned long           sync_queue_len;
        unsigned int            sync_queue_delay;
        struct task_struct      *master_thread;
        struct delayed_work     master_wakeup_work;
@@ -966,7 +966,7 @@ struct netns_ipvs {
        int                     sysctl_snat_reroute;
        int                     sysctl_sync_ver;
        int                     sysctl_sync_ports;
-       int                     sysctl_sync_qlen_max;
+       unsigned long           sysctl_sync_qlen_max;
        int                     sysctl_sync_sock_size;
        int                     sysctl_cache_bypass;
        int                     sysctl_expire_nodest_conn;
@@ -1053,7 +1053,7 @@ static inline int sysctl_sync_ports(struct netns_ipvs *ipvs)
        return ACCESS_ONCE(ipvs->sysctl_sync_ports);
 }
 
-static inline int sysctl_sync_qlen_max(struct netns_ipvs *ipvs)
+static inline unsigned long sysctl_sync_qlen_max(struct netns_ipvs *ipvs)
 {
        return ipvs->sysctl_sync_qlen_max;
 }
@@ -1106,7 +1106,7 @@ static inline int sysctl_sync_ports(struct netns_ipvs *ipvs)
        return 1;
 }
 
-static inline int sysctl_sync_qlen_max(struct netns_ipvs *ipvs)
+static inline unsigned long sysctl_sync_qlen_max(struct netns_ipvs *ipvs)
 {
        return IPVS_SYNC_QLEN_MAX;
 }
index 8104120f16a580a54b16e043d61199b87235c762..6f8048c33b090749c4be052cfbe1b31d64ef1387 100644 (file)
@@ -1749,9 +1749,9 @@ static struct ctl_table vs_vars[] = {
        },
        {
                .procname       = "sync_qlen_max",
-               .maxlen         = sizeof(int),
+               .maxlen         = sizeof(unsigned long),
                .mode           = 0644,
-               .proc_handler   = proc_dointvec,
+               .proc_handler   = proc_doulongvec_minmax,
        },
        {
                .procname       = "sync_sock_size",