diskstats: Only display metrics for disks by default
Simon Nagl committed
May 1, 2016 at 15:16 UTC
421585666e0c71fa6973681df585355958febe31
1 file changed
+234
-119
src/proc_diskstats.c
+234
-119
@@ -220,136 +220,251 @@ int do_proc_diskstats(int update_every, unsigned long long dt) {
220
for(s = disk; *s ;s++) if(*s == '/') *s = '_';
221
222
struct disk *d = get_disk(major, minor);
223
+
224
+ /*
225
if(d->partition_id == -1)
226
def_enabled = enable_new_disks;
227
else
228
def_enabled = 0;
229
+ */
230
228
- char *mount_point = d->mount_point;
229
- char *family = d->mount_point;
230
- if(!family) family = disk;
231
-
232
-/*
231
+ // Enable real disks by default.
232
+ // To fine out if it is a harddrive we use
233
+ // Linux Assigned Names and Numbers Authority (http://www.lanana.org/)
234
switch(major) {
234
- case 9: // MDs
235
- case 43: // network block
236
- case 144: // nfs
237
- case 145: // nfs
238
- case 146: // nfs
239
- case 199: // veritas
240
- case 201: // veritas
241
- case 251: // dm
242
- case 253: // virtio
243
- def_enabled = enable_new_disks;
244
- break;
245
-
246
- case 48: // RAID
247
- case 49: // RAID
248
- case 50: // RAID
249
- case 51: // RAID
250
- case 52: // RAID
251
- case 53: // RAID
252
- case 54: // RAID
253
- case 55: // RAID
254
- case 112: // RAID
255
- case 136: // RAID
256
- case 137: // RAID
257
- case 138: // RAID
258
- case 139: // RAID
259
- case 140: // RAID
260
- case 141: // RAID
261
- case 142: // RAID
262
- case 143: // RAID
263
- case 179: // MMC
264
- case 180: // USB
265
- if(minor % 8) def_enabled = 0; // partitions
266
- else def_enabled = enable_new_disks;
267
- break;
268
-
269
- case 8: // scsi disks
270
- case 65: // scsi disks
271
- case 66: // scsi disks
272
- case 67: // scsi disks
273
- case 68: // scsi disks
274
- case 69: // scsi disks
275
- case 70: // scsi disks
276
- case 71: // scsi disks
277
- case 72: // scsi disks
278
- case 73: // scsi disks
279
- case 74: // scsi disks
280
- case 75: // scsi disks
281
- case 76: // scsi disks
282
- case 77: // scsi disks
283
- case 78: // scsi disks
284
- case 79: // scsi disks
285
- case 80: // i2o
286
- case 81: // i2o
287
- case 82: // i2o
288
- case 83: // i2o
289
- case 84: // i2o
290
- case 85: // i2o
291
- case 86: // i2o
292
- case 87: // i2o
293
- case 101: // hyperdisk
294
- case 102: // compressed
295
- case 104: // scsi
296
- case 105: // scsi
297
- case 106: // scsi
298
- case 107: // scsi
299
- case 108: // scsi
300
- case 109: // scsi
301
- case 110: // scsi
302
- case 111: // scsi
303
- case 114: // bios raid
304
- case 116: // ram board
305
- case 128: // scsi
306
- case 129: // scsi
307
- case 130: // scsi
308
- case 131: // scsi
309
- case 132: // scsi
310
- case 133: // scsi
311
- case 134: // scsi
312
- case 135: // scsi
313
- case 153: // raid
314
- case 202: // xen
315
- case 254: // virtio3
316
- case 256: // flash
317
- case 257: // flash
318
- case 259: // nvme0n1 issue #119
319
- if(minor % 16) def_enabled = 0; // partitions
320
- else def_enabled = enable_new_disks;
321
- break;
322
-
323
- case 160: // raid
324
- case 161: // raid
325
- if(minor % 32) def_enabled = 0; // partitions
326
- else def_enabled = enable_new_disks;
327
- break;
328
-
329
- case 3: // ide
330
- case 13: // 8bit ide
331
- case 22: // ide
332
- case 33: // ide
333
- case 34: // ide
334
- case 56: // ide
335
- case 57: // ide
336
- case 88: // ide
337
- case 89: // ide
338
- case 90: // ide
339
- case 91: // ide
340
- if(minor % 64) def_enabled = 0; // partitions
341
- else def_enabled = enable_new_disks;
342
- break;
343
-
344
- case 252: // zram
345
- def_enabled = 0;
235
+ case 8: // SCSI disk devices (0-15)
236
+ if(!(minor % 16)) {
237
+ def_enabled = enable_new_disks;
238
+ }
239
+ break;
240
+ case 21: // Acorn MFM hard drive interface
241
+ if(!(minor % 64)) {
242
+ def_enabled = enable_new_disks;
243
+ }
244
+ break;
245
+ case 28: // ACSI disk (68k/Atari)
246
+ if(!(minor % 16)) {
247
+ def_enabled = enable_new_disks;
248
+ }
249
+ break;
250
+ case 36: // MCA ESDI hard disk
251
+ if(!(minor % 64)) {
252
+ def_enabled = enable_new_disks;
253
+ }
254
+ break;
255
+ case 48: // Mylex DAC960 PCI RAID controller; first controller
256
+ if(!(minor % 8)) {
257
+ def_enabled = enable_new_disks;
258
+ }
259
+ break;
260
+ case 49: // Mylex DAC960 PCI RAID controller; second controller
261
+ if(!(minor % 8)) {
262
+ def_enabled = enable_new_disks;
263
+ }
264
+ break;
265
+ case 50: // Mylex DAC960 PCI RAID controller; third controller
266
+ if(!(minor % 8)) {
267
+ def_enabled = enable_new_disks;
268
+ }
269
+ break;
270
+ case 51: // Mylex DAC960 PCI RAID controller; fourth controller
271
+ if(!(minor % 8)) {
272
+ def_enabled = enable_new_disks;
273
+ }
274
+ break;
275
+ case 52: // Mylex DAC960 PCI RAID controller; fifth controller
276
+ if(!(minor % 8)) {
277
+ def_enabled = enable_new_disks;
278
+ }
279
+ break;
280
+ case 53: // Mylex DAC960 PCI RAID controller; sixth controller
281
+ if(!(minor % 8)) {
282
+ def_enabled = enable_new_disks;
283
+ }
284
+ break;
285
+ case 54: // Mylex DAC960 PCI RAID controller; seventh controller
286
+ if(!(minor % 8)) {
287
+ def_enabled = enable_new_disks;
288
+ }
289
+ break;
290
+ case 55: // Mylex DAC960 PCI RAID controller; eigth controller
291
+ if(!(minor % 8)) {
292
+ def_enabled = enable_new_disks;
293
+ }
294
+ break;
295
+ case 65: // SCSI disk devices (16-31)
296
+ if(!(minor % 16)) {
297
+ def_enabled = enable_new_disks;
298
+ }
299
+ break;
300
+ case 66: // SCSI disk devices (32-47)
301
+ if(!(minor % 16)) {
302
+ def_enabled = enable_new_disks;
303
+ }
304
+ break;
305
+ case 67: // SCSI disk devices (48-63)
306
+ if(!(minor % 16)) {
307
+ def_enabled = enable_new_disks;
308
+ }
309
+ break;
310
+ case 68: // SCSI disk devices (64-79)
311
+ if(!(minor % 16)) {
312
+ def_enabled = enable_new_disks;
313
+ }
314
+ break;
315
+ case 69: // SCSI disk devices (80-95)
316
+ if(!(minor % 16)) {
317
+ def_enabled = enable_new_disks;
318
+ }
319
+ break;
320
+ case 70: // SCSI disk devices (96-111)
321
+ if(!(minor % 16)) {
322
+ def_enabled = enable_new_disks;
323
+ }
324
+ break;
325
+ case 71: // SCSI disk devices (112-127)
326
+ if(!(minor % 16)) {
327
+ def_enabled = enable_new_disks;
328
+ }
329
+ break;
330
+ case 80: // I2O hard disk
331
+ if(!(minor % 16)) {
332
+ def_enabled = enable_new_disks;
333
+ }
334
+ break;
335
+ case 81: // I2O hard disk
336
+ if(!(minor % 16)) {
337
+ def_enabled = enable_new_disks;
338
+ }
339
+ break;
340
+ case 82: // I2O hard disk
341
+ if(!(minor % 16)) {
342
+ def_enabled = enable_new_disks;
343
+ }
344
+ break;
345
+ case 83: // I2O hard disk
346
+ if(!(minor % 16)) {
347
+ def_enabled = enable_new_disks;
348
+ }
349
+ break;
350
+ case 84: // I2O hard disk
351
+ if(!(minor % 16)) {
352
+ def_enabled = enable_new_disks;
353
+ }
354
+ break;
355
+ case 85: // I2O hard disk
356
+ if(!(minor % 16)) {
357
+ def_enabled = enable_new_disks;
358
+ }
359
+ break;
360
+ case 86: // I2O hard disk
361
+ if(!(minor % 16)) {
362
+ def_enabled = enable_new_disks;
363
+ }
364
+ break;
365
+ case 87: // I2O hard disk
366
+ if(!(minor % 16)) {
367
+ def_enabled = enable_new_disks;
368
+ }
369
+ break;
370
+ case 128: // SCSI disk devices (128-143)
371
+ if(!(minor % 16)) {
372
+ def_enabled = enable_new_disks;
373
+ }
374
+ break;
375
+ case 129: // SCSI disk devices (144-159)
376
+ if(!(minor % 16)) {
377
+ def_enabled = enable_new_disks;
378
+ }
379
+ break;
380
+ case 130: // SCSI disk devices (160-175)
381
+ if(!(minor % 16)) {
382
+ def_enabled = enable_new_disks;
383
+ }
384
+ break;
385
+ case 131: // SCSI disk devices (176-191)
386
+ if(!(minor % 16)) {
387
+ def_enabled = enable_new_disks;
388
+ }
389
+ break;
390
+ case 132: // SCSI disk devices (192-207)
391
+ if(!(minor % 16)) {
392
+ def_enabled = enable_new_disks;
393
+ }
394
+ break;
395
+ case 133: // SCSI disk devices (208-223)
396
+ if(!(minor % 16)) {
397
+ def_enabled = enable_new_disks;
398
+ }
399
+ break;
400
+ case 134: // SCSI disk devices (224-239)
401
+ if(!(minor % 16)) {
402
+ def_enabled = enable_new_disks;
403
+ }
404
+ break;
405
+ case 135: // SCSI disk devices (240-255)
406
+ if(!(minor % 16)) {
407
+ def_enabled = enable_new_disks;
408
+ }
409
+ break;
410
+ case 136: // Mylex DAC960 PCI RAID controller; nineth controller
411
+ if(!(minor % 8)) {
412
+ def_enabled = enable_new_disks;
413
+ }
414
+ break;
415
+ case 137: // Mylex DAC960 PCI RAID controller; tenth controller
416
+ if(!(minor % 8)) {
417
+ def_enabled = enable_new_disks;
418
+ }
419
+ break;
420
+ case 138: // Mylex DAC960 PCI RAID controller; eleventh controller
421
+ if(!(minor % 8)) {
422
+ def_enabled = enable_new_disks;
423
+ }
424
+ break;
425
+ case 139: // Mylex DAC960 PCI RAID controller; twelfth controller
426
+ if(!(minor % 8)) {
427
+ def_enabled = enable_new_disks;
428
+ }
429
+ break;
430
+ case 140: // Mylex DAC960 PCI RAID controller; thirteenth controller
431
+ if(!(minor % 8)) {
432
+ def_enabled = enable_new_disks;
433
+ }
434
+ break;
435
+ case 141: // Mylex DAC960 PCI RAID controller; fourteenth controller
436
+ if(!(minor % 8)) {
437
+ def_enabled = enable_new_disks;
438
+ }
439
+ break;
440
+ case 142: // Mylex DAC960 PCI RAID controller; fifteenth controller
441
+ if(!(minor % 8)) {
442
+ def_enabled = enable_new_disks;
443
+ }
444
+ break;
445
+ case 143: // Mylex DAC960 PCI RAID controller; sixteenth controller
446
+ if(!(minor % 8)) {
447
+ def_enabled = enable_new_disks;
448
+ }
449
+ break;
450
+ case 160: // Carmel 8-port SATA Disks on First Controller
451
+ if(!(minor % 32)) {
452
+ def_enabled = enable_new_disks;
453
+ }
454
+ break;
455
+ case 161: // Carmel 8-port SATA Disks on Second Controller
456
+ if(!(minor % 32)) {
457
+ def_enabled = enable_new_disks;
458
+ }
459
break;
347
-
460
default:
461
def_enabled = 0;
462
break;
463
}
352
-*/
464
+
465
+ char *mount_point = d->mount_point;
466
+ char *family = d->mount_point;
467
+ if(!family) family = disk;
468
469
int ddo_io = do_io, ddo_ops = do_ops, ddo_mops = do_mops, ddo_iotime = do_iotime, ddo_qops = do_qops, ddo_util = do_util, ddo_backlog = do_backlog, ddo_space = do_space;
470