[OpenAFS-devel] Salvager should be less verbose (with patch)

Harald Barth haba@pdc.kth.se
Fri, 18 Mar 2005 14:55:05 +0100 (MET)


Improvment to salvager which otherwise fills up our partitions with
log messages. After patch below it should write

1000 inodes to process
900 inodes to proces
800 inodes to process
700 inodes to process
600 inodes to process
500 inodes to process
400 inodes to process
300 inodes to process
200 inodes to process
100 inodes to process
90 inodes to process
80 inodes to process
70 inodes to process
60 inodes to process
50 inodes to process
40 inodes to process
30 inodes to process
20 inodes to process
10 inodes to process
9 inodes to process
8 inodes to process
7 inodes to process
6 inodes to process
5 inodes to process
4 inodes to process
3 inodes to process
2 inodes to process
1 inodes to process

instead one line for every inode (3411985 times on our server) which
accounts for around half the size of this file:

-rw-r--r--    2 root     bin      152391076 Mar 10 20:41 /usr/openafs/var/openafs/logs/SalvageLog

Harald.


--- openafs-1.3.79/src/vol/vol-salvage.c.orig   2005-03-18 14:28:41.000000000 +0100
+++ openafs-1.3.79/src/vol/vol-salvage.c        2005-03-18 14:44:12.000000000 +0100
@@ -2029,6 +2029,7 @@
 
     /* Fix actual inode counts */
     if (!Showmode) {
+        int modulo = 100000;
        Log("totalInodes %d\n",totalInodes);
        for (ip = inodes; totalInodes; ip++, totalInodes--) {
            static int TraceBadLinkCounts = 0;
@@ -2065,8 +2066,19 @@
                }
                ip->linkCount++;
            }
-
-          Log("%d inodes to process\n",totalInodes); 
+           
+           if (totalInodes <= 10)
+             modulo = 1;
+           else if (totalInodes <= 100)
+             modulo = 10;
+           else if (totalInodes <= 1000)
+             modulo = 100;
+           else if (totalInodes <= 10000)
+             modulo = 1000;
+           else if (totalInodes <= 100000)
+             modulo = 10000;
+           if (totalInodes % modulo == 0)
+             Log("%d inodes to process\n",totalInodes); 
        }
 #ifdef AFS_NAMEI_ENV
        while (dec_VGLinkH > 0) {