]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ipvs: change type of netns_ipvs->sysctl_sync_qlen_max
authorZhang Yanfei <zhangyanfei@cn.fujitsu.com>
Wed, 20 Mar 2013 04:06:58 +0000 (15:06 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 21 Mar 2013 05:28:19 +0000 (16:28 +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 fce8e6b66d558d8ff8bb629c4da5e358113a675e..f5b702341be24f67d0569e5967725bb7144a9120 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 9e2d1cccd1eb4c647b2ece3b2c3985edc0b5b32d..4a38c6455b9d3a1db2c7ac280bca3b9604c6426a 100644 (file)
@@ -1747,9 +1747,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",