2007-11-06 12:24:18

by Alexey Dobriyan

[permalink] [raw]
Subject: [PATCH -net 2/2] Put proc_net_create() on death row

proc_net_create() stands on the way of shrinking the number of
interfaces one can use for /proc files, namely, it uses ->get_info
hook which will be converted, deprecated and deleted on its own
schedule.

Signed-off-by: Alexey Dobriyan <[email protected]>
---

Documentation/feature-removal-schedule.txt | 9 +++++++++
include/linux/proc_fs.h | 8 ++++++--
2 files changed, 15 insertions(+), 2 deletions(-)

--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -130,6 +130,15 @@ Who: Christoph Hellwig <[email protected]>

---------------------------

+What: proc_net_create()
+When: 2.6.25
+Why: proc_net_create() stands on the way of shrinking the number of
+ interfaces one can use for /proc files, namely, it uses ->get_info
+ hook which will be deleted later.
+Who: Alexey Dobriyan <[email protected]>
+
+---------------------------
+
What: CONFIG_FORCED_INLINING
When: June 2006
Why: Config option is there to see if gcc is good enough. (in january
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -196,7 +196,7 @@ static inline struct proc_dir_entry *create_proc_info_entry(const char *name,
return res;
}

-extern struct proc_dir_entry *proc_net_create(struct net *net,
+extern __deprecated struct proc_dir_entry *proc_net_create(struct net *net,
const char *name, mode_t mode, get_info_t *get_info);
extern struct proc_dir_entry *proc_net_fops_create(struct net *net,
const char *name, mode_t mode, const struct file_operations *fops);
@@ -208,7 +208,11 @@ extern void proc_net_remove(struct net *net, const char *name);
#define proc_bus NULL

#define proc_net_fops_create(net, name, mode, fops) ({ (void)(mode), NULL; })
-#define proc_net_create(net, name, mode, info) ({ (void)(mode), NULL; })
+static inline __deprecated struct proc_dir_entry *proc_net_create(
+ struct net *net, const char *name, mode_t mode, get_info_t *get_info)
+{
+ return NULL;
+}
static inline void proc_net_remove(struct net *net, const char *name) {}

static inline void proc_flush_task(struct task_struct *task)


2007-11-06 13:28:35

by David Miller

[permalink] [raw]
Subject: Re: [PATCH -net 2/2] Put proc_net_create() on death row

From: Alexey Dobriyan <[email protected]>
Date: Tue, 6 Nov 2007 15:23:50 +0300

> proc_net_create() stands on the way of shrinking the number of
> interfaces one can use for /proc files, namely, it uses ->get_info
> hook which will be converted, deprecated and deleted on its own
> schedule.
>
> Signed-off-by: Alexey Dobriyan <[email protected]>

Applied.

2007-11-06 13:32:48

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH -net 2/2] Put proc_net_create() on death row

On Tue, Nov 06, 2007 at 03:23:50PM +0300, Alexey Dobriyan wrote:
> proc_net_create() stands on the way of shrinking the number of
> interfaces one can use for /proc files, namely, it uses ->get_info
> hook which will be converted, deprecated and deleted on its own
> schedule.

It's just a trivial helper, so please just remove it once you've
converted all users.