안녕하세요 /proc/partitions 의 각 변수의 의미가 무엇인지 궁

facered79의 이미지

[south9@master /proc]$ cat partitions
major minor #blocks name rio rmerge rsect ruse wio
wmerge wsect wuse running use aveq

8 0 8886762 sda 14321 112788 425032 48200 2365
388 21120 71960 0 52100 120180
8 1 1052226 sda1 2 0 16 10 0 0 0 0 0 10 10
8 2 4200997 sda2 7567 94902 227918 26280 271 172
2488 19060 0 24030 45340
8 3 3630690 sda3 6752 17886 197098 21930 2094 216
18632 52900 0 32710 74830

이런식으로 나오는데요..

rio rmerge rsect ruse wio wmerge wsect wuse running use aveq
이것들이 무엇을 뜻하는건지 알수 있을까여?

pastime의 이미지

<drivers/block/genhd.c>

518 static int diskstats_show(struct seq_file *s, void *v)
519 {
520         struct gendisk *gp = v;
521         char buf[BDEVNAME_SIZE];
522         int n = 0;
523 
524         /*
525         if (&sgp->kobj.entry == block_subsys.kset.list.next)
526                 seq_puts(s,     "major minor name"
527                                 "     rio rmerge rsect ruse wio wmerge "
528                                 "wsect wuse running use aveq"
529                                 "\n\n");
530         */
531  
532         preempt_disable();
533         disk_round_stats(gp);
534         preempt_enable();
535         seq_printf(s, "%4d %4d %s %u %u %llu %u %u %u %llu %u %u %u %u\n",
536                 gp->major, n + gp->first_minor, disk_name(gp, n, buf),
537                 disk_stat_read(gp, reads), disk_stat_read(gp, read_merges),
538                 (unsigned long long)disk_stat_read(gp, read_sectors),
539                 jiffies_to_msecs(disk_stat_read(gp, read_ticks)),
540                 disk_stat_read(gp, writes), disk_stat_read(gp, write_merges),
541                 (unsigned long long)disk_stat_read(gp, write_sectors),
542                 jiffies_to_msecs(disk_stat_read(gp, write_ticks)),
543                 gp->in_flight,
544                 jiffies_to_msecs(disk_stat_read(gp, io_ticks)),
545                 jiffies_to_msecs(disk_stat_read(gp, time_in_queue)));
546 
547         /* now show all non-0 size partitions of it */
548         for (n = 0; n < gp->minors - 1; n++) {
549                 struct hd_struct *hd = gp->part[n];
550 
551                 if (hd && hd->nr_sects)
552                         seq_printf(s, "%4d %4d %s %u %u %u %u\n",
553                                 gp->major, n + gp->first_minor + 1,
554                                 disk_name(gp, n + 1, buf),
555                                 hd->reads, hd->read_sectors,
556                                 hd->writes, hd->write_sectors);
557         }
558  
559         return 0;
560 }