kernel-ark/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 [PATCH] devpts: use lib/parser.c for parsing mount options 2006-03-23 07:38:17 -08:00
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 [PATCH] Make address_space_operations->invalidatepage return void 2006-03-26 08:56:55 -08:00
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 [PATCH] sem2mutex: fs/ 2006-03-26 08:56:55 -08:00
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 [PATCH] fs: Use ARRAY_SIZE macro 2006-03-24 07:33:19 -08:00
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
aio.c [PATCH] use kzalloc and kcalloc in core fs code 2006-03-25 08:23:00 -08:00
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_fdpic.c BUG_ON() Conversion in fs/binfmt_elf_fdpic.c 2006-03-24 18:38:48 +01:00
binfmt_elf.c [PATCH] x86_64: Increase the variability of the process stack on 64bit architectures 2006-03-25 09:10:52 -08:00
binfmt_em86.c
binfmt_flat.c [PATCH] flat binary loader doesn't check fd table full 2006-03-25 08:23:01 -08:00
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 [PATCH] mempool: use mempool_create_slab_pool() 2006-03-26 08:57:00 -08:00
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_ioctl.c [PATCH] fs: Use ARRAY_SIZE macro 2006-03-24 07:33:19 -08:00
compat.c [PATCH] Fold select_bits_alloc/free into caller code. 2006-03-28 09:16:04 -08:00
dcache.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-03-26 09:41:18 -08:00
dcookies.c [PATCH] Use __read_mostly on some hot fs variables 2006-03-26 08:56:56 -08:00
direct-io.c Fixes a regression from the recent "remove ->get_blocks() support" 2006-03-29 09:26:15 +10:00
dnotify.c [PATCH] Use __read_mostly on some hot fs variables 2006-03-26 08:56:56 -08:00
dquot.c [PATCH] cpuset memory spread: slab cache format 2006-03-24 07:33:23 -08:00
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 [PATCH] Use __read_mostly on some hot fs variables 2006-03-26 08:56:56 -08:00
fifo.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
file_table.c [PATCH] get_empty_filp tweaks, inline epoll_init_file() 2006-03-23 07:38:17 -08:00
file.c [PATCH] for_each_possible_cpu: fixes for generic part 2006-03-28 09:16:05 -08:00
filesystems.c
fs-writeback.c [PATCH] Move cond_resched() after iput() in sync_sb_inodes() 2006-03-25 08:22:56 -08:00
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
Kconfig Merge branch 'linus' 2006-03-23 23:44:19 -05:00
Kconfig.binfmt
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
Makefile [PATCH] Introduce sys_splice() system call 2006-03-30 12:28:18 -08:00
mbcache.c [PATCH] Typo fixes 2006-03-28 09:16:08 -08:00
mpage.c [PATCH] map multiple blocks for mpage_readpages() 2006-03-26 08:57:01 -08:00
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 [PATCH] fs: Use ARRAY_SIZE macro 2006-03-24 07:33:19 -08:00
open.c Merge branch 'audit.b3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current 2006-03-25 09:24:53 -08:00
pipe.c [PATCH] splice: add support for SPLICE_F_MOVE flag 2006-03-30 12:28:18 -08:00
pnode.c [PATCH] s/;;/;/g 2006-03-24 07:33:24 -08:00
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c [PATCH] sem2mutex: quota 2006-03-23 07:38:11 -08:00
quota.c [PATCH] sem2mutex: quota 2006-03-23 07:38:11 -08:00
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 [PATCH] sem2mutex: fs/seq_file.c 2006-03-23 07:38:12 -08:00
splice.c [PATCH] splice exports 2006-03-30 22:16:24 -08:00
stat.c [PATCH] fstatat64 support 2006-02-11 21:41:10 -08:00
super.c [PATCH] sem2mutex: fs/ 2006-03-26 08:56:55 -08:00
xattr_acl.c
xattr.c [PATCH] Collect more inode information during syscall processing. 2006-03-20 14:08:53 -05:00