]> err.no Git - linux-2.6/commitdiff
[INET]: Consolidate the xxx_put
authorPavel Emelyanov <xemul@openvz.org>
Mon, 15 Oct 2007 09:41:56 +0000 (02:41 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 15 Oct 2007 19:26:43 +0000 (12:26 -0700)
These ones use the generic data types too, so move
them in one place.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inet_frag.h
net/ipv4/ip_fragment.c
net/ipv6/netfilter/nf_conntrack_reasm.c
net/ipv6/reassembly.c

index cf583cf7e9efded0537d4ede8a37e6f6218cbe4d..911c2cd02941cda559bb176af22f11adfda6915e 100644 (file)
@@ -51,4 +51,10 @@ void inet_frag_destroy(struct inet_frag_queue *q,
                                struct inet_frags *f, int *work);
 int inet_frag_evictor(struct inet_frags *f);
 
+static inline void inet_frag_put(struct inet_frag_queue *q, struct inet_frags *f)
+{
+       if (atomic_dec_and_test(&q->refcnt))
+               inet_frag_destroy(q, f, NULL);
+}
+
 #endif
index 6676600220c5168c83428523bb9e2e4b144e5821..3171ec0c0fa046a9299284c55a87ae246eea937a 100644 (file)
@@ -157,8 +157,7 @@ static __inline__ struct ipq *frag_alloc_queue(void)
 
 static __inline__ void ipq_put(struct ipq *ipq)
 {
-       if (atomic_dec_and_test(&ipq->q.refcnt))
-               inet_frag_destroy(&ipq->q, &ip4_frags, NULL);
+       inet_frag_put(&ipq->q, &ip4_frags);
 }
 
 /* Kill ipq entry. It is not destroyed immediately,
index 862d089b353b38390fef376dc07626140ef29342..bf6f2f09eae3ca51b3752e7e5db4803cff76c7b5 100644 (file)
@@ -149,8 +149,7 @@ static inline struct nf_ct_frag6_queue *frag_alloc_queue(void)
 
 static __inline__ void fq_put(struct nf_ct_frag6_queue *fq)
 {
-       if (atomic_dec_and_test(&fq->q.refcnt))
-               inet_frag_destroy(&fq->q, &nf_frags, NULL);
+       inet_frag_put(&fq->q, &nf_frags);
 }
 
 /* Kill fq entry. It is not destroyed immediately,
index 98d8fbd0c9e96ea038490499ae704c6c9bf81b61..ed3c7b7912a84d7e99324032153ca0e3c6602299 100644 (file)
@@ -171,8 +171,7 @@ static inline struct frag_queue *frag_alloc_queue(void)
 
 static __inline__ void fq_put(struct frag_queue *fq)
 {
-       if (atomic_dec_and_test(&fq->q.refcnt))
-               inet_frag_destroy(&fq->q, &ip6_frags, NULL);
+       inet_frag_put(&fq->q, &ip6_frags);
 }
 
 /* Kill fq entry. It is not destroyed immediately,