]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Fix up slabinfo code
authorBrian Gerst <bgerst@didntduck.org>
Sat, 22 Feb 2003 04:09:30 +0000 (20:09 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Sat, 22 Feb 2003 04:09:30 +0000 (20:09 -0800)
Move printing the header to s_start, removing the need for the special
pointer value.

mm/slab.c

index 649f332c2398341788807f31a86d37d67fc103d6..dca957164326edfe947a2020fe4bbe31f48ac885 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2194,10 +2194,19 @@ static void *s_start(struct seq_file *m, loff_t *pos)
        struct list_head *p;
 
        down(&cache_chain_sem);
-       if (!n)
-               return (void *)1;
+       if (!n) {
+               /*
+                * Output format version, so at least we can change it
+                * without _too_ many complaints.
+                */
+               seq_puts(m, "slabinfo - version: 1.2"
+#if STATS
+                               " (statistics)"
+#endif
+                               "\n");
+       }
        p = cache_chain.next;
-       while (--n) {
+       while (n--) {
                p = p->next;
                if (p == &cache_chain)
                        return NULL;
@@ -2209,8 +2218,6 @@ static void *s_next(struct seq_file *m, void *p, loff_t *pos)
 {
        kmem_cache_t *cachep = p;
        ++*pos;
-       if (p == (void *)1)
-               return list_entry(cache_chain.next, kmem_cache_t, next);
        return cachep->next.next == &cache_chain ? NULL
                : list_entry(cachep->next.next, kmem_cache_t, next);
 }
@@ -2234,20 +2241,6 @@ static int s_show(struct seq_file *m, void *p)
        mm_segment_t old_fs;
        char tmp; 
 
-
-       if (p == (void*)1) {
-               /*
-                * Output format version, so at least we can change it
-                * without _too_ many complaints.
-                */
-               seq_puts(m, "slabinfo - version: 1.2"
-#if STATS
-                               " (statistics)"
-#endif
-                               "\n");
-               return 0;
-       }
-
        check_irq_on();
        spin_lock_irq(&cachep->spinlock);
        active_objs = 0;