]> git.sur5r.net Git - bacula/bacula/blob - bacula/patches/testing/add-readbytes.patch
ebl update
[bacula/bacula] / bacula / patches / testing / add-readbytes.patch
1  This patch was submited by Dirk Nehring and permit to track
2  real job size in the catalog.
3
4   Add ReadBytes to Job (physical bytes read)
5   Add code to fill the field
6
7
8
9 diff -ur bacula-2.4.2.orig/src/cats/make_mysql_tables.in bacula-2.4.2/src/cats/make_mysql_tables.in
10 --- bacula-2.4.2.orig/src/cats/make_mysql_tables.in     2007-10-22 12:31:08.000000000 +0200
11 +++ bacula-2.4.2/src/cats/make_mysql_tables.in  2008-07-28 09:06:17.000000000 +0200
12 @@ -102,6 +102,7 @@
13     VolSessionTime INTEGER UNSIGNED DEFAULT 0,
14     JobFiles INTEGER UNSIGNED DEFAULT 0,
15     JobBytes BIGINT UNSIGNED DEFAULT 0,
16 +   ReadBytes BIGINT UNSIGNED DEFAULT 0,
17     JobErrors INTEGER UNSIGNED DEFAULT 0,
18     JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
19     PoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool,
20 diff -ur bacula-2.4.2.orig/src/cats/make_postgresql_tables.in bacula-2.4.2/src/cats/make_postgresql_tables.in
21 --- bacula-2.4.2.orig/src/cats/make_postgresql_tables.in        2007-03-30 23:46:04.000000000 +0200
22 +++ bacula-2.4.2/src/cats/make_postgresql_tables.in     2008-07-28 09:06:17.000000000 +0200
23 @@ -67,6 +67,7 @@
24      volsessiontime    integer    default 0,
25      jobfiles         integer     default 0,
26      jobbytes         bigint      default 0,
27 +    readbytes        bigint      default 0,
28      joberrors        integer     default 0,
29      jobmissingfiles   integer    default 0,
30      poolid           integer     default 0,
31 diff -ur bacula-2.4.2.orig/src/cats/make_sqlite3_tables.in bacula-2.4.2/src/cats/make_sqlite3_tables.in
32 --- bacula-2.4.2.orig/src/cats/make_sqlite3_tables.in   2007-06-03 22:27:52.000000000 +0200
33 +++ bacula-2.4.2/src/cats/make_sqlite3_tables.in        2008-07-28 09:06:17.000000000 +0200
34 @@ -64,6 +64,7 @@
35     VolSessionTime INTEGER UNSIGNED DEFAULT 0,
36     JobFiles INTEGER UNSIGNED DEFAULT 0,
37     JobBytes BIGINT UNSIGNED DEFAULT 0,
38 +   ReadBytes BIGINT UNSIGNED DEFAULT 0,
39     JobErrors INTEGER UNSIGNED DEFAULT 0,
40     JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
41     PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
42 diff -ur bacula-2.4.2.orig/src/cats/make_sqlite_tables.in bacula-2.4.2/src/cats/make_sqlite_tables.in
43 --- bacula-2.4.2.orig/src/cats/make_sqlite_tables.in    2007-03-30 23:46:04.000000000 +0200
44 +++ bacula-2.4.2/src/cats/make_sqlite_tables.in 2008-07-28 09:06:17.000000000 +0200
45 @@ -64,6 +64,7 @@
46     VolSessionTime INTEGER UNSIGNED DEFAULT 0,
47     JobFiles INTEGER UNSIGNED DEFAULT 0,
48     JobBytes BIGINT UNSIGNED DEFAULT 0,
49 +   ReadBytes BIGINT UNSIGNED DEFAULT 0,
50     JobErrors INTEGER UNSIGNED DEFAULT 0,
51     JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
52     PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
53 diff -ur bacula-2.4.2.orig/src/cats/make_test_tables bacula-2.4.2/src/cats/make_test_tables
54 --- bacula-2.4.2.orig/src/cats/make_test_tables 2002-04-23 21:48:51.000000000 +0200
55 +++ bacula-2.4.2/src/cats/make_test_tables      2008-07-28 09:06:17.000000000 +0200
56 @@ -49,6 +49,7 @@
57     VolSessionTime INTEGER UNSIGNED NOT NULL,
58     JobFiles INTEGER UNSIGNED NOT NULL,
59     JobBytes BIGINT UNSIGNED NOT NULL,
60 +   ReadBytes BIGINT UNSIGNED NOT NULL,
61     JobErrors INTEGER UNSIGNED NOT NULL,
62     JobMissingFiles INTEGER UNSIGNED NOT NULL,
63     PoolId INTEGER UNSIGNED NOT NULL REFERENCES Pool,
64 diff -ur bacula-2.4.2.orig/src/cats/sql_update.c bacula-2.4.2/src/cats/sql_update.c
65 --- bacula-2.4.2.orig/src/cats/sql_update.c     2007-06-07 16:46:43.000000000 +0200
66 +++ bacula-2.4.2/src/cats/sql_update.c  2008-07-28 09:06:17.000000000 +0200
67 @@ -149,7 +149,7 @@
68     time_t ttime;
69     struct tm tm;
70     int stat;
71 -   char ed1[30], ed2[30], ed3[50];
72 +   char ed1[30], ed2[30], ed3[50], ed4[50];
73     btime_t JobTDate;
74     char PoolId[50], FileSetId[50], ClientId[50], PriorJobId[50];
75  
76 @@ -181,10 +181,11 @@
77     db_lock(mdb);
78     Mmsg(mdb->cmd,
79        "UPDATE Job SET JobStatus='%c',EndTime='%s',"
80 -"ClientId=%s,JobBytes=%s,JobFiles=%u,JobErrors=%u,VolSessionId=%u,"
81 +"ClientId=%s,JobBytes=%s,ReadBytes=%s,JobFiles=%u,JobErrors=%u,VolSessionId=%u,"
82  "VolSessionTime=%u,PoolId=%s,FileSetId=%s,JobTDate=%s,"
83  "RealEndTime='%s',PriorJobId=%s WHERE JobId=%s",
84        (char)(jr->JobStatus), dt, ClientId, edit_uint64(jr->JobBytes, ed1),
85 +      edit_uint64(jcr->ReadBytes, ed4),
86        jr->JobFiles, jr->JobErrors, jr->VolSessionId, jr->VolSessionTime,
87        PoolId, FileSetId, edit_uint64(JobTDate, ed2), 
88        rdt,
89 diff -ur bacula-2.4.2.orig/src/cats/update_mysql_tables.in bacula-2.4.2/src/cats/update_mysql_tables.in
90 --- bacula-2.4.2.orig/src/cats/update_mysql_tables.in   2007-03-30 23:46:04.000000000 +0200
91 +++ bacula-2.4.2/src/cats/update_mysql_tables.in        2008-07-28 09:06:17.000000000 +0200
92 @@ -63,6 +63,8 @@
93  ALTER TABLE Job ADD COLUMN PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job;
94  ALTER TABLE Job ADD COLUMN RealEndTime DATETIME DEFAULT 0;
95  
96 +-- 3.0 additions
97 +ALTER TABLE Job ADD ReadBytes BIGINT UNSIGNED DEFAULT 0 AFTER JobBytes;
98  
99  
100  DELETE FROM Version;
101 diff -ur bacula-2.4.2.orig/src/cats/update_postgresql_tables.in bacula-2.4.2/src/cats/update_postgresql_tables.in
102 --- bacula-2.4.2.orig/src/cats/update_postgresql_tables.in      2007-03-30 23:46:04.000000000 +0200
103 +++ bacula-2.4.2/src/cats/update_postgresql_tables.in   2008-07-28 09:06:17.000000000 +0200
104 @@ -73,6 +73,9 @@
105  DELETE FROM version;
106  INSERT INTO version (versionId) VALUES (10);
107  
108 +-- 3.0 additions
109 +ALTER TABLE job ADD COLUMN readbytes bigint default 0;
110 +
111  vacuum;
112  
113  END-OF-DATA
114 diff -ur bacula-2.4.2.orig/src/cats/update_sqlite3_tables.in bacula-2.4.2/src/cats/update_sqlite3_tables.in
115 --- bacula-2.4.2.orig/src/cats/update_sqlite3_tables.in 2007-03-30 23:46:04.000000000 +0200
116 +++ bacula-2.4.2/src/cats/update_sqlite3_tables.in      2008-07-28 09:06:17.000000000 +0200
117 @@ -157,6 +157,7 @@
118     VolSessionTime INTEGER UNSIGNED DEFAULT 0,
119     JobFiles INTEGER UNSIGNED DEFAULT 0,
120     JobBytes BIGINT UNSIGNED DEFAULT 0,
121 +   ReadBytes BIGINT UNSIGNED DEFAULT 0,
122     JobErrors INTEGER UNSIGNED DEFAULT 0,
123     JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
124     PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
125 @@ -170,7 +171,7 @@
126     JobId, Job, Name, Type, Level, ClientId, JobStatus,
127     SchedTime, StartTime, EndTime, 0,
128     JobTDate, VolSessionId, VolSessionTime, 
129 -   JobFiles, JobBytes, JobErrors, JobMissingFiles, 
130 +   JobFiles, JobBytes, 0, JobErrors, JobMissingFiles,
131     PoolId, FileSetId, 0, PurgedFiles, HasBase
132     FROM Job;
133  
134 @@ -194,6 +195,7 @@
135     VolSessionTime INTEGER UNSIGNED DEFAULT 0,
136     JobFiles INTEGER UNSIGNED DEFAULT 0,
137     JobBytes BIGINT UNSIGNED DEFAULT 0,
138 +   ReadBytes BIGINT UNSIGNED DEFAULT 0,
139     JobErrors INTEGER UNSIGNED DEFAULT 0,
140     JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
141     PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
142 @@ -209,7 +211,7 @@
143     JobId, Job, Name, Type, Level, ClientId, JobStatus,
144     SchedTime, StartTime, EndTime, RealEndTime,
145     JobTDate, VolSessionId, VolSessionTime, 
146 -   JobFiles, JobBytes, JobErrors, JobMissingFiles, 
147 +   JobFiles, JobBytes, ReadBytes, JobErrors, JobMissingFiles,
148     PoolId, FileSetId, PriorJobId, PurgedFiles, HasBase)
149     SELECT * FROM Job_backup;
150  
151 diff -ur bacula-2.4.2.orig/src/cats/update_sqlite_tables.in bacula-2.4.2/src/cats/update_sqlite_tables.in
152 --- bacula-2.4.2.orig/src/cats/update_sqlite_tables.in  2007-03-30 23:46:04.000000000 +0200
153 +++ bacula-2.4.2/src/cats/update_sqlite_tables.in       2008-07-28 09:06:17.000000000 +0200
154 @@ -157,6 +157,7 @@
155     VolSessionTime INTEGER UNSIGNED DEFAULT 0,
156     JobFiles INTEGER UNSIGNED DEFAULT 0,
157     JobBytes BIGINT UNSIGNED DEFAULT 0,
158 +   ReadBytes BIGINT UNSIGNED DEFAULT 0,
159     JobErrors INTEGER UNSIGNED DEFAULT 0,
160     JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
161     PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
162 @@ -170,7 +171,7 @@
163     JobId, Job, Name, Type, Level, ClientId, JobStatus,
164     SchedTime, StartTime, EndTime, 0,
165     JobTDate, VolSessionId, VolSessionTime, 
166 -   JobFiles, JobBytes, JobErrors, JobMissingFiles, 
167 +   JobFiles, JobBytes, 0, JobErrors, JobMissingFiles,
168     PoolId, FileSetId, 0, PurgedFiles, HasBase
169     FROM Job;
170  
171 @@ -194,6 +195,7 @@
172     VolSessionTime INTEGER UNSIGNED DEFAULT 0,
173     JobFiles INTEGER UNSIGNED DEFAULT 0,
174     JobBytes BIGINT UNSIGNED DEFAULT 0,
175 +   ReadBytes BIGINT UNSIGNED DEFAULT 0,
176     JobErrors INTEGER UNSIGNED DEFAULT 0,
177     JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
178     PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
179 diff -ur bacula-2.4.2.orig/src/dird/backup.c bacula-2.4.2/src/dird/backup.c
180 --- bacula-2.4.2.orig/src/dird/backup.c 2008-01-09 08:29:57.000000000 +0100
181 +++ bacula-2.4.2/src/dird/backup.c      2008-07-28 09:16:24.000000000 +0200
182 @@ -339,7 +339,7 @@
183  {
184     char sdt[50], edt[50], schedt[50];
185     char ec1[30], ec2[30], ec3[30], ec4[30], ec5[30], compress[50];
186 -   char ec6[30], ec7[30], ec8[30], elapsed[50];
187 +   char ec6[30], ec7[30], ec8[30], ec9[30], ec10[30], elapsed[50];
188     char term_code[100], fd_term_msg[100], sd_term_msg[100];
189     const char *term_msg;
190     int msg_type = M_INFO;
191 @@ -461,6 +461,7 @@
192  "  Priority:               %d\n"
193  "  FD Files Written:       %s\n"
194  "  SD Files Written:       %s\n"
195 +"  FD Bytes Read:          %s (%sB)\n"
196  "  FD Bytes Written:       %s (%sB)\n"
197  "  SD Bytes Written:       %s (%sB)\n"
198  "  Rate:                   %.1f KB/s\n"
199 @@ -492,6 +493,8 @@
200          jcr->JobPriority,
201          edit_uint64_with_commas(jcr->jr.JobFiles, ec1),
202          edit_uint64_with_commas(jcr->SDJobFiles, ec2),
203 +        edit_uint64_with_commas(jcr->ReadBytes, ec9),
204 +        edit_uint64_with_suffix(jcr->ReadBytes, ec10),
205          edit_uint64_with_commas