linux/fs
Joe Korty 68eef3b479 [PATCH] Simplify proc/devices and fix early termination regression
Make baby-simple the code for /proc/devices.  Based on the proven design
for /proc/interrupts.

This also fixes the early-termination regression 2.6.16 introduced, as
demonstrated by:

    # dd if=/proc/devices bs=1
    Character devices:
      1 mem
    27+0 records in
    27+0 records out

This should also work (but is untested) when /proc/devices >4096 bytes,
which I believe is what the original 2.6.16 rewrite fixed.

[akpm@osdl.org: cleanups, simplifications]
Signed-off-by: Joe Korty <joe.korty@ccur.com>
Cc: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-31 12:18:53 -08:00
..
9p [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
adfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
affs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
afs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
autofs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
autofs4 [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
befs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
bfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
cifs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
coda [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
configfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
cramfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
debugfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
devfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
devpts
efs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
exportfs
ext2 [PATCH] Introduce sys_splice() system call 2006-03-30 12:28:18 -08:00
ext3 [PATCH] Introduce sys_splice() system call 2006-03-30 12:28:18 -08:00
fat [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
freevxfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
fuse [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
hfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
hfsplus [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
hostfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
hpfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
hppfs [PATCH] uml: __user annotations 2006-03-31 12:18:51 -08:00
hugetlbfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
isofs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
jbd
jffs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
jffs2 [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
jfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
lockd
minix [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
msdos
ncpfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
nfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
nfs_common
nfsd [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
nls
ntfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
ocfs2 [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
openpromfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
partitions Merge ../linux-2.6 2006-03-29 13:24:50 +11:00
proc [PATCH] Simplify proc/devices and fix early termination regression 2006-03-31 12:18:53 -08:00
qnx4 [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
ramfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
reiserfs [PATCH] Introduce sys_splice() system call 2006-03-30 12:28:18 -08:00
romfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
smbfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
sysfs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
sysv [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
udf [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
ufs [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
vfat
xfs [XFS] Cleanup in XFS after recent get_block_t interface tweaks. 2006-03-29 10:44:40 +10:00
Kconfig
Kconfig.binfmt
Makefile [PATCH] Introduce sys_splice() system call 2006-03-30 12:28:18 -08:00
aio.c
attr.c
bad_inode.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
binfmt_aout.c
binfmt_elf.c
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
binfmt_script.c
binfmt_som.c
bio.c
block_dev.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
buffer.c [PATCH] for_each_online_pgdat: renaming for_each_pgdat 2006-03-27 08:44:48 -08:00
char_dev.c [PATCH] Simplify proc/devices and fix early termination regression 2006-03-31 12:18:53 -08:00
compat.c [PATCH] Fold select_bits_alloc/free into caller code. 2006-03-28 09:16:04 -08:00
compat_ioctl.c
dcache.c
dcookies.c
direct-io.c Fixes a regression from the recent "remove ->get_blocks() support" 2006-03-29 09:26:15 +10:00
dnotify.c
dquot.c
drop_caches.c
eventpoll.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
exec.c [PATCH] convert sighand_cache to use SLAB_DESTROY_BY_RCU 2006-03-28 18:36:42 -08:00
fcntl.c
fifo.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
file.c [PATCH] for_each_possible_cpu: fixes for generic part 2006-03-28 09:16:05 -08:00
file_table.c
filesystems.c
fs-writeback.c
inode.c [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
inotify.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
ioctl.c
ioprio.c
libfs.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
locks.c [PATCH] locks: don't panic 2006-03-31 12:18:52 -08:00
mbcache.c [PATCH] Typo fixes 2006-03-28 09:16:08 -08:00
mpage.c
namei.c [PATCH] autofs4: nameidata needs to be up to date for follow_link 2006-03-27 08:44:40 -08:00
namespace.c [PATCH] autofs4: change may_umount* functions to boolean 2006-03-27 08:44:40 -08:00
nfsctl.c
open.c
pipe.c [PATCH] splice: add support for SPLICE_F_MOVE flag 2006-03-30 12:28:18 -08:00
pnode.c
pnode.h
posix_acl.c
quota.c
quota_v1.c
quota_v2.c
read_write.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
readdir.c
select.c [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
seq_file.c
splice.c [PATCH] splice exports 2006-03-30 22:16:24 -08:00
stat.c
super.c
xattr.c
xattr_acl.c