Make common helpers for seq_files that work with list_heads
authorPavel Emelianov <xemul@sw.ru>
Wed, 11 Jul 2007 00:22:26 +0000 (17:22 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 11 Jul 2007 00:51:13 +0000 (17:51 -0700)
commitbcf67e16251c42302499499b1c50f7d35622f564
tree3df64aa83005c0a153acf3a1a0d7a6e6d49dc688
parentc14d444b55f285063a4018c10d521614b70b581a
Make common helpers for seq_files that work with list_heads

Many places in kernel use seq_file API to iterate over a regular list_head.
The code for such iteration is identical in all the places, so it's worth
introducing a common helpers.

This makes code about 300 lines smaller:

The first version of this patch made the helper functions static inline
in the seq_file.h header. This patch moves them to the fs/seq_file.c as
Andrew proposed. The vmlinux .text section sizes are as follows:

2.6.22-rc1-mm1:              0x001794d5
with the previous version:   0x00179505
with this patch:             0x00179135

The config file used was make allnoconfig with the "y" inclusion of all
the possible options to make the files modified by the patch compile plus
drivers I have on the test node.

This patch:

Many places in kernel use seq_file API to iterate over a regular list_head.
The code for such iteration is identical in all the places, so it's worth
introducing a common helpers.

Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/seq_file.c
include/linux/seq_file.h