Al Viro [Mon, 15 Apr 2013 14:29:11 +0000 (10:29 -0400)]
pmcraid: don't wank with fasync in ->release()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Mon, 15 Apr 2013 14:28:20 +0000 (10:28 -0400)]
mptctl: don't wank with fasync in ->release()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Mon, 15 Apr 2013 02:39:37 +0000 (22:39 -0400)]
lpfc: fix races for miscdevice open vs. rmmod
mind you, I'm not sure WTF would anybody _need_ that miscdevice
at all - no IO is possible for it, opening it only pins the module
down and is seriously racy, at that.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Mon, 15 Apr 2013 01:23:06 +0000 (21:23 -0400)]
yurex: don't wank with fasync on ->release()...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Mon, 15 Apr 2013 00:01:50 +0000 (20:01 -0400)]
fanotify: don't wank with FASYNC on ->release()
... it's done already by __fput()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 14 Apr 2013 21:22:17 +0000 (17:22 -0400)]
sock_close() couldn't have been called with NULL inode since at least 2.1.early
... if not since 0.99 or so.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 14 Apr 2013 20:59:00 +0000 (16:59 -0400)]
tomoyo_close_control: don't bother with return value
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 14 Apr 2013 20:49:33 +0000 (16:49 -0400)]
dmasound_core: saner arguments for sq_fsync()
it is not (and it has never been) an ->fsync() instance...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 14 Apr 2013 19:35:44 +0000 (15:35 -0400)]
hppfs: get rid of ->fsync()
it has grown by accident - directories there do *not* use page cache, so
there's nothing to write.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 14 Apr 2013 19:34:01 +0000 (15:34 -0400)]
hppfs: fix the leaks on close()
we need to close the underlying procfs file and free ->private_data
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 14 Apr 2013 00:31:37 +0000 (20:31 -0400)]
new helper: read_code()
switch binfmts that use ->read() to that (and to kernel_read()
in several cases in binfmt_flat - sure, it's nommu, but still,
doing ->read() into kmalloc'ed buffer...)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 13 Apr 2013 20:48:24 +0000 (16:48 -0400)]
cx25821: sanitize cx25821_openfile_audio() a bit...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 13 Apr 2013 20:35:35 +0000 (16:35 -0400)]
cx25821: sanitize cx25821_get_audio_data() a bit
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 4 Apr 2013 20:28:47 +0000 (16:28 -0400)]
try a saner locking for pde_opener...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Wed, 3 Apr 2013 23:57:00 +0000 (19:57 -0400)]
deal with races between remove_proc_entry() and proc_reg_release()
* serialize the call of ->release() on per-pdeo mutex
* don't remove pdeo from per-pde list until we are through with it
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Wed, 3 Apr 2013 23:07:30 +0000 (19:07 -0400)]
procfs: preparations for remove_proc_entry() race fixes
* leave ->proc_fops alone; make ->pde_users negative instead
* trim pde_opener
* move relevant code in fs/proc/inode.c
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
David Howells [Thu, 4 Apr 2013 15:32:28 +0000 (16:32 +0100)]
procfs: Clean up huge if-statement in __proc_file_read()
Switch huge if-statement in __proc_file_read() around. This then puts the
single line loop break immediately after the if-statement and allows us to
de-indent the huge comment and make it take fewer lines. The code following
the if-statement then follows naturally from the call to dp->read_proc().
Signed-off-by: David Howells <dhowells@redhat.com>
Al Viro [Sat, 6 Apr 2013 22:11:22 +0000 (18:11 -0400)]
vt6655: slightly clean reading config file
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 6 Apr 2013 22:00:07 +0000 (18:00 -0400)]
vt6656: slightly sanitized reading config
Just reading - parsing the results is left alone (and unspeakably
lousy).
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 6 Apr 2013 17:53:56 +0000 (13:53 -0400)]
sound_firmware: don't bother with filp_close()
it's opened read-only and never installed into any descriptor tables;
fput() will do just as well.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 6 Apr 2013 00:44:08 +0000 (20:44 -0400)]
pxa3xx-gcu: stop embedding file_operations into device-private object
no need to do that anymore...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 6 Apr 2013 00:39:36 +0000 (20:39 -0400)]
pxa3xx-gcu: quite playing silly buggers with ->f_op
misc device gets ->private_data pointing to struct miscdevice
on open(), so we can use that to get to per-device structure
instead of relying on file_operations being copied into it.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
David Howells [Thu, 4 Apr 2013 19:36:00 +0000 (20:36 +0100)]
silicom-bypass: Remove device_open/close()
Remove device_open/close() functions as they don't really do anything and
remove Device_Open as it isn't counted atomically and the value isn't used.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Thu, 4 Apr 2013 16:02:03 +0000 (17:02 +0100)]
proc: Kill create_proc_entry()
Kill create_proc_entry() in favour of create_proc_read_entry(), proc_create()
and proc_create_data().
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Thu, 4 Apr 2013 15:49:26 +0000 (16:49 +0100)]
wlags49_h2: Don't use create_proc_entry()
create_proc_entry() shouldn't be used. Rather proc_create_data() should be
used. The proc_write() function is only used by #if'd out code, so delete it
for now.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Thu, 4 Apr 2013 15:44:51 +0000 (16:44 +0100)]
nubus: Don't use create_proc_entry()
Don't use create_proc_entry() in nubus_proc_subdir(). The files created aren't
given any way to use them, so for the moment use create_proc_read_entry() with
a NULL accessor and generate a compile-time warning.
Signed-off-by: David Howells <dhowells@redhat.com>
David Howells [Thu, 4 Apr 2013 15:58:25 +0000 (16:58 +0100)]
UM: Adjust printk in create_proc_mconsole()
Adjust printk in create_proc_mconsole() to reflect it is now using
proc_create() not create_proc_mconsole().
Signed-off-by: David Howells <dhowells@redhat.com>
Al Viro [Thu, 4 Apr 2013 23:09:41 +0000 (19:09 -0400)]
constify a bunch of struct file_operations instances
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 4 Apr 2013 23:18:04 +0000 (19:18 -0400)]
bluetooth: kill unused fops field in struct bt_sock_list
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 4 Apr 2013 23:16:06 +0000 (19:16 -0400)]
bluetooth: fix race in bt_procfs_init()
use proc_create_data() rather than set ->data after the file has
been created
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 4 Apr 2013 23:14:33 +0000 (19:14 -0400)]
bluetooth: kill unused 'module' argument of bt_procfs_init()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 4 Apr 2013 23:12:06 +0000 (19:12 -0400)]
bluetooth: don't bother with ->owner for procfs fops
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Wed, 3 Apr 2013 04:04:51 +0000 (00:04 -0400)]
x25: use proc_remove_subtree()
... and don't bother with ->owner, while we are at it - procfs fops
do not need it.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Tue, 2 Apr 2013 00:48:34 +0000 (20:48 -0400)]
create_proc_cpu_mask() doesn't need an argument...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Mon, 1 Apr 2013 03:21:50 +0000 (23:21 -0400)]
lparcfg: don't bother saving pointer to proc_dir_entry
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Mon, 1 Apr 2013 02:50:16 +0000 (22:50 -0400)]
prominfo_proc fixes
* check for proc_mkdir() failures
* use remove_proc_subtree()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Mon, 1 Apr 2013 01:45:09 +0000 (21:45 -0400)]
srm_env: don't bother with pointer to srm_env_t
Since the only thing in it the methods actually care about is
variable id, just store that directly.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 22:29:51 +0000 (18:29 -0400)]
srm_env: use proc_remove_subtree()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 22:16:14 +0000 (18:16 -0400)]
procfs: new helper - PDE_DATA(inode)
The only part of proc_dir_entry the code outside of fs/proc
really cares about is PDE(inode)->data. Provide a helper
for that; static inline for now, eventually will be moved
to fs/proc, along with the knowledge of struct proc_dir_entry
layout.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 19:41:41 +0000 (15:41 -0400)]
last_radio_log: switch to proc_create()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 19:30:40 +0000 (15:30 -0400)]
procfs: kill ->write_proc()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 19:29:21 +0000 (15:29 -0400)]
bfin_adv7393: switch to proc_create_data()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 19:18:19 +0000 (15:18 -0400)]
xtensa simdisk: switch to proc_create_data()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 19:07:00 +0000 (15:07 -0400)]
rtl8192u: switch to proc_create()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 17:50:52 +0000 (13:50 -0400)]
scsi_proc: make proc_scsi_host_open() preallocate a bigger buffer
Some of the ->show_info() instances really spew a lot; it's not a problem
wrt correctness (seq_read() will grow buffer and call the sucker again),
but in this case it makes sense to start with a somewhat bigger one -
they often do exceed one page worth of output.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 17:43:23 +0000 (13:43 -0400)]
new helper: single_open_size()
Same as single_open(), but preallocates the buffer of given size.
Doesn't make any sense for sizes up to PAGE_SIZE and doesn't make
sense if output of show() exceeds PAGE_SIZE only rarely - seq_read()
will take care of growing the buffer and redoing show(). If you
_know_ that it will be large, it might make more sense to look into
saner iterator, rather than go with single-shot one. If that's
impossible, single_open_size() might be for you.
Again, don't use that without a good reason; occasionally that's really
the best way to go, but very often there are better solutions.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 17:27:56 +0000 (13:27 -0400)]
scsi: bury ->proc_info()
all users converted to ->show_info()/->write_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 17:24:44 +0000 (13:24 -0400)]
atari_scsi: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 16:53:53 +0000 (12:53 -0400)]
aix7xxx_old: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 16:46:43 +0000 (12:46 -0400)]
sata_svw: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 16:17:09 +0000 (12:17 -0400)]
ips: fix format bugs exposed by previous commit
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 16:15:44 +0000 (12:15 -0400)]
ips: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 16:02:39 +0000 (12:02 -0400)]
acornscsi: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 08:42:22 +0000 (04:42 -0400)]
fas216: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 08:07:31 +0000 (04:07 -0400)]
aic7xxx: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:59:17 +0000 (03:59 -0400)]
aic79xx: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:32:45 +0000 (03:32 -0400)]
in2000: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:26:26 +0000 (03:26 -0400)]
atp870u: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:24:12 +0000 (03:24 -0400)]
dc395x: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:21:50 +0000 (03:21 -0400)]
dpt_i2o: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:18:35 +0000 (03:18 -0400)]
eata_pio: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:15:00 +0000 (03:15 -0400)]
aha1740: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:12:15 +0000 (03:12 -0400)]
aha152x: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 07:04:13 +0000 (03:04 -0400)]
advansys: fix buggered formats - unsigned long != u32 on 64bit
asc_prt_line() had been hiding several places where formats had not
matched the argument types. The previous commit has finally made them
visible...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 06:59:55 +0000 (02:59 -0400)]
advansys: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 06:14:18 +0000 (02:14 -0400)]
nsp_cs: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 06:11:39 +0000 (02:11 -0400)]
nsp32: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 06:08:31 +0000 (02:08 -0400)]
keucr: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 06:04:33 +0000 (02:04 -0400)]
rts5139: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 06:01:55 +0000 (02:01 -0400)]
tcm: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 06:00:06 +0000 (02:00 -0400)]
cciss: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 05:52:13 +0000 (01:52 -0400)]
BusLogic: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 05:46:06 +0000 (01:46 -0400)]
scsi_debug: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 05:42:38 +0000 (01:42 -0400)]
fusion: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 05:37:13 +0000 (01:37 -0400)]
usb-storage: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 05:15:54 +0000 (01:15 -0400)]
NCR5830: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 04:58:31 +0000 (00:58 -0400)]
ppa: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 04:55:40 +0000 (00:55 -0400)]
imm: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 04:52:08 +0000 (00:52 -0400)]
gdth: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 04:30:35 +0000 (00:30 -0400)]
switch wd33c93 to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 04:17:00 +0000 (00:17 -0400)]
wd7000: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 04:10:16 +0000 (00:10 -0400)]
sym53c8xx_2: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 03:58:05 +0000 (23:58 -0400)]
scsi: saner replacements for ->proc_info()
It's still an obsolete interface; don't introduce those in new drivers.
However, it's saner than the ->proc_info() and commits after this one
will convert the existing ->proc_info() users to it.
The read side is ->show_info(seq_file *, struct Scsi_Host *); use
seq_... for generating contents.
The write side is ->write_info(struct Scsi_Host *, char *, int).
Again, this is driven by procfs needs; we are going to kill ->write_proc()
and ->read_proc() and this is the main obstacle to burying that piece of
shit.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 01:20:14 +0000 (21:20 -0400)]
procfs: don't allow to use proc_create, create_proc_entry, etc. for directories
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 00:34:21 +0000 (20:34 -0400)]
i2o: use proc_remove_subtree()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Fri, 5 Apr 2013 17:42:42 +0000 (13:42 -0400)]
silicom: bury bp_proc.c
It's a seriously rotten copy of parts of bp_mod.c; had been
ifdefed out all along, lacks a bunch of declarations that would
be needed if ifdef had been removed, all stuff in it is duplicated
in bp_mod.c anyway...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 23:11:39 +0000 (19:11 -0400)]
silicom: switch to create_proc_data(), clean procfs side of things up
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sun, 31 Mar 2013 00:16:20 +0000 (20:16 -0400)]
reiserfs: use proc_remove_subtree()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 21:20:54 +0000 (17:20 -0400)]
silicom: untangle module_init
Helper functions are often useful. So are local variables...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 20:44:11 +0000 (16:44 -0400)]
silicom: get_bypass_slave_pfs() open-codes lookup_port()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 20:07:02 +0000 (16:07 -0400)]
silicom: unobfuscate get_{status,master}_port_fn()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 19:41:56 +0000 (15:41 -0400)]
silicom: helper functions are often useful...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 17:26:37 +0000 (13:26 -0400)]
get rid of a bunch of open-coded create_proc_read_entry()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 17:15:27 +0000 (13:15 -0400)]
isp1362-hcd: don't reimplement proc_create_data()
... especially in a racy way
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 17:13:39 +0000 (13:13 -0400)]
rtl8192u: don't play with reassigning ->proc_fops, just use proc_create()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 05:07:56 +0000 (01:07 -0400)]
dgrp procfs fixes, part 6: just use proc_create{,_data}
->permission() of its own is a rudiment of sysctl imitation;
normal procfs logics will do just fine here, no need to
mess with ->proc_iops at all.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 05:03:53 +0000 (01:03 -0400)]
dgrp procfs fixes, part 5: per-node files
this "hooks" scheme is pointless - just make file_operations non-static
and consolidate initialiazation bits.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 04:36:23 +0000 (00:36 -0400)]
dgrp procfs fixes, part 4: get rid of sysctl-like machinery
racy and very overblown...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 00:49:43 +0000 (20:49 -0400)]
dgrp procfs fixes, part 3: kill dead code
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Sat, 30 Mar 2013 00:45:38 +0000 (20:45 -0400)]
dgrp procfs fixes, part 2
All table entries either have non-NULL ->proc_file_fops or
non-NULL child.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>