* [patch 0/1][RFC] add a private field to the sock structure
@ 2007-08-29 16:41 dlezcano
2007-08-29 16:41 ` [patch 1/1][RFC] " dlezcano
2007-08-29 18:23 ` [patch 0/1][RFC] " David Miller
0 siblings, 2 replies; 8+ messages in thread
From: dlezcano @ 2007-08-29 16:41 UTC (permalink / raw)
To: netdev
When a socket is created it is sometime useful to store a specific information
for this socket.
This information can be for examples:
* a creation time
* a pid
* a uid/gid
* a container identifier
* a pointer to a more specific structure
* ...
The following patch is a proposition to add a private anonymous pointer
field to the common part of the sock structure.
--
^ permalink raw reply [flat|nested] 8+ messages in thread
* [patch 1/1][RFC] add a private field to the sock structure
2007-08-29 16:41 [patch 0/1][RFC] add a private field to the sock structure dlezcano
@ 2007-08-29 16:41 ` dlezcano
2007-08-29 18:09 ` Christoph Hellwig
2007-08-29 18:23 ` [patch 0/1][RFC] " David Miller
1 sibling, 1 reply; 8+ messages in thread
From: dlezcano @ 2007-08-29 16:41 UTC (permalink / raw)
To: netdev
[-- Attachment #1: sock-private-data.patch --]
[-- Type: text/plain, Size: 2443 bytes --]
From: Daniel Lezcano <dlezcano@fr.ibm.com>
Store private information for a socket
This patch adds a field to the common socket structure. This field
is a anonymous pointer which allow to store an information about
the socket
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
---
include/net/inet_timewait_sock.h | 1 +
include/net/sock.h | 3 +++
net/ipv4/inet_timewait_sock.c | 1 +
3 files changed, 5 insertions(+)
Index: net-2.6.24-bf/include/net/sock.h
===================================================================
--- net-2.6.24-bf.orig/include/net/sock.h
+++ net-2.6.24-bf/include/net/sock.h
@@ -106,6 +106,7 @@
* @skc_refcnt: reference count
* @skc_hash: hash value used with various protocol lookup tables
* @skc_prot: protocol handlers inside a network family
+ * @skc_private: field used to store private data
*
* This is the minimal network layer representation of sockets, the header
* for struct sock and struct inet_timewait_sock.
@@ -120,6 +121,7 @@
atomic_t skc_refcnt;
unsigned int skc_hash;
struct proto *skc_prot;
+ void *skc_private;
};
/**
@@ -196,6 +198,7 @@
#define sk_refcnt __sk_common.skc_refcnt
#define sk_hash __sk_common.skc_hash
#define sk_prot __sk_common.skc_prot
+#define sk_private __sk_common.skc_private
unsigned char sk_shutdown : 2,
sk_no_check : 2,
sk_userlocks : 4;
Index: net-2.6.24-bf/net/ipv4/inet_timewait_sock.c
===================================================================
--- net-2.6.24-bf.orig/net/ipv4/inet_timewait_sock.c
+++ net-2.6.24-bf/net/ipv4/inet_timewait_sock.c
@@ -108,6 +108,7 @@
tw->tw_hash = sk->sk_hash;
tw->tw_ipv6only = 0;
tw->tw_prot = sk->sk_prot_creator;
+ tw->tw_private = sk->sk_private;
atomic_set(&tw->tw_refcnt, 1);
inet_twsk_dead_node_init(tw);
__module_get(tw->tw_prot->owner);
Index: net-2.6.24-bf/include/net/inet_timewait_sock.h
===================================================================
--- net-2.6.24-bf.orig/include/net/inet_timewait_sock.h
+++ net-2.6.24-bf/include/net/inet_timewait_sock.h
@@ -115,6 +115,7 @@
#define tw_refcnt __tw_common.skc_refcnt
#define tw_hash __tw_common.skc_hash
#define tw_prot __tw_common.skc_prot
+#define tw_private __tw_common.skc_private
volatile unsigned char tw_substate;
/* 3 bits hole, try to pack */
unsigned char tw_rcv_wscale;
--
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [patch 1/1][RFC] add a private field to the sock structure
2007-08-29 16:41 ` [patch 1/1][RFC] " dlezcano
@ 2007-08-29 18:09 ` Christoph Hellwig
0 siblings, 0 replies; 8+ messages in thread
From: Christoph Hellwig @ 2007-08-29 18:09 UTC (permalink / raw)
To: dlezcano; +Cc: netdev
On Wed, Aug 29, 2007 at 06:41:15PM +0200, dlezcano@fr.ibm.com wrote:
> From: Daniel Lezcano <dlezcano@fr.ibm.com>
>
> Store private information for a socket
>
> This patch adds a field to the common socket structure. This field
> is a anonymous pointer which allow to store an information about
> the socket
If you have orivtae information it should have a typed pointer to it.
Please also post the patches actually using this field.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [patch 0/1][RFC] add a private field to the sock structure
2007-08-29 16:41 [patch 0/1][RFC] add a private field to the sock structure dlezcano
2007-08-29 16:41 ` [patch 1/1][RFC] " dlezcano
@ 2007-08-29 18:23 ` David Miller
2007-08-29 19:18 ` Arnaldo Carvalho de Melo
1 sibling, 1 reply; 8+ messages in thread
From: David Miller @ 2007-08-29 18:23 UTC (permalink / raw)
To: dlezcano; +Cc: netdev
From: dlezcano@fr.ibm.com
Date: Wed, 29 Aug 2007 18:41:14 +0200
> When a socket is created it is sometime useful to store a specific information
> for this socket.
>
> This information can be for examples:
> * a creation time
> * a pid
> * a uid/gid
> * a container identifier
> * a pointer to a more specific structure
> * ...
>
> The following patch is a proposition to add a private anonymous pointer
> field to the common part of the sock structure.
We got rid of the private field a long time ago because not only
is it not needed, it tends to get abused.
Find another way to implement your feature.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [patch 0/1][RFC] add a private field to the sock structure
2007-08-29 18:23 ` [patch 0/1][RFC] " David Miller
@ 2007-08-29 19:18 ` Arnaldo Carvalho de Melo
2007-08-29 21:15 ` Daniel Lezcano
2007-08-31 5:40 ` David Miller
0 siblings, 2 replies; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2007-08-29 19:18 UTC (permalink / raw)
To: David Miller; +Cc: dlezcano, netdev, ralf
Em Wed, Aug 29, 2007 at 11:23:16AM -0700, David Miller escreveu:
> From: dlezcano@fr.ibm.com
> Date: Wed, 29 Aug 2007 18:41:14 +0200
>
> > When a socket is created it is sometime useful to store a specific information
> > for this socket.
> >
> > This information can be for examples:
> > * a creation time
> > * a pid
> > * a uid/gid
> > * a container identifier
> > * a pointer to a more specific structure
> > * ...
> >
> > The following patch is a proposition to add a private anonymous pointer
> > field to the common part of the sock structure.
>
> We got rid of the private field a long time ago because not only
> is it not needed, it tends to get abused.
Nah, it still there, sk_protinfo, its just ax25 that uses it
(nudge(Ralf)). How do we state that a struct field is deprecated and
will be removed soon(tm)?
There is another, sk_user_data, that is used only by the rpc, pppol2tp,
iscsi, ncpfs, smbfs and dlm guys, see? We need a deprecate flag for
sk_protinfo, if not people will use it! :-)
- Arnaldo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [patch 0/1][RFC] add a private field to the sock structure
2007-08-29 19:18 ` Arnaldo Carvalho de Melo
@ 2007-08-29 21:15 ` Daniel Lezcano
2007-08-31 5:40 ` David Miller
1 sibling, 0 replies; 8+ messages in thread
From: Daniel Lezcano @ 2007-08-29 21:15 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, David Miller, dlezcano, netdev, ralf,
hch
Arnaldo Carvalho de Melo wrote:
> Em Wed, Aug 29, 2007 at 11:23:16AM -0700, David Miller escreveu:
>> From: dlezcano@fr.ibm.com
>> Date: Wed, 29 Aug 2007 18:41:14 +0200
>>
>>> When a socket is created it is sometime useful to store a specific information
>>> for this socket.
>>>
>>> This information can be for examples:
>>> * a creation time
>>> * a pid
>>> * a uid/gid
>>> * a container identifier
>>> * a pointer to a more specific structure
>>> * ...
>>>
>>> The following patch is a proposition to add a private anonymous pointer
>>> field to the common part of the sock structure.
>> We got rid of the private field a long time ago because not only
>> is it not needed, it tends to get abused.
>
> Nah, it still there, sk_protinfo, its just ax25 that uses it
> (nudge(Ralf)). How do we state that a struct field is deprecated and
> will be removed soon(tm)?
>
> There is another, sk_user_data, that is used only by the rpc, pppol2tp,
> iscsi, ncpfs, smbfs and dlm guys, see? We need a deprecate flag for
> sk_protinfo, if not people will use it! :-)
Thank you for your feedbacks. I will play with the sk_user_data.
Is there a chance to have this field in the timewait sockets ? :)
Regards
--Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [patch 0/1][RFC] add a private field to the sock structure
2007-08-29 19:18 ` Arnaldo Carvalho de Melo
2007-08-29 21:15 ` Daniel Lezcano
@ 2007-08-31 5:40 ` David Miller
2007-08-31 11:26 ` Arnaldo Carvalho de Melo
1 sibling, 1 reply; 8+ messages in thread
From: David Miller @ 2007-08-31 5:40 UTC (permalink / raw)
To: acme; +Cc: dlezcano, netdev, ralf
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Date: Wed, 29 Aug 2007 16:18:31 -0300
> Nah, it still there, sk_protinfo, its just ax25 that uses it
> (nudge(Ralf)). How do we state that a struct field is deprecated and
> will be removed soon(tm)?
You get rid of all the in-tree users and then just kill it :)
More seriously, I don't think we need a deprecation schedule
for a struct member, either it's not used in-tree anymore or
it isn't. We'll go crazy with any other policy and it's
difficult enough shrinking these things :-)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [patch 0/1][RFC] add a private field to the sock structure
2007-08-31 5:40 ` David Miller
@ 2007-08-31 11:26 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2007-08-31 11:26 UTC (permalink / raw)
To: David Miller; +Cc: dlezcano, netdev, ralf
Em Thu, Aug 30, 2007 at 10:40:49PM -0700, David Miller escreveu:
> From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
> Date: Wed, 29 Aug 2007 16:18:31 -0300
>
> > Nah, it still there, sk_protinfo, its just ax25 that uses it
> > (nudge(Ralf)). How do we state that a struct field is deprecated and
> > will be removed soon(tm)?
>
> You get rid of all the in-tree users and then just kill it :)
>
> More seriously, I don't think we need a deprecation schedule
> for a struct member, either it's not used in-tree anymore or
> it isn't. We'll go crazy with any other policy and it's
> difficult enough shrinking these things :-)
OK, I think its enough to say to dlezcano that he should avoid using
sk_protinfo, as soon as we do the work on AX.25 sk_protinfo will be
removed.
- Arnaldo
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-08-31 11:26 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-29 16:41 [patch 0/1][RFC] add a private field to the sock structure dlezcano
2007-08-29 16:41 ` [patch 1/1][RFC] " dlezcano
2007-08-29 18:09 ` Christoph Hellwig
2007-08-29 18:23 ` [patch 0/1][RFC] " David Miller
2007-08-29 19:18 ` Arnaldo Carvalho de Melo
2007-08-29 21:15 ` Daniel Lezcano
2007-08-31 5:40 ` David Miller
2007-08-31 11:26 ` Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).