Skip to content

Commit 8f11fe5

Browse files
chaseyuJaegeuk Kim
authored andcommitted
f2fs: support to show curseg.next_blkoff in debugfs
cat /sys/kernel/debug/f2fs/status Main area: 17 segs, 17 secs 17 zones TYPE blkoff segno secno zoneno dirty_seg full_seg valid_blk - COLD data: 0 4 4 4 0 0 0 - WARM data: 0 7 7 7 0 0 0 - HOT data: 1 5 5 5 2 0 512 - Dir dnode: 3 0 0 0 1 0 2 - File dnode: 0 1 1 1 0 0 0 - Indir nodes: 0 2 2 2 0 0 0 - Pinned file: 0 -1 -1 -1 - ATGC data: 0 -1 -1 -1 Signed-off-by: Chao Yu <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
1 parent fbc0774 commit 8f11fe5

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

fs/f2fs/debug.c

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ static void update_general_status(struct f2fs_sb_info *sbi)
251251
for (i = CURSEG_HOT_DATA; i < NO_CHECK_TYPE; i++) {
252252
struct curseg_info *curseg = CURSEG_I(sbi, i);
253253

254+
si->blkoff[i] = curseg->next_blkoff;
254255
si->curseg[i] = curseg->segno;
255256
si->cursec[i] = GET_SEC_FROM_SEG(sbi, curseg->segno);
256257
si->curzone[i] = GET_ZONE_FROM_SEC(sbi, si->cursec[i]);
@@ -508,55 +509,63 @@ static int stat_show(struct seq_file *s, void *v)
508509
seq_printf(s, "\nMain area: %d segs, %d secs %d zones\n",
509510
si->main_area_segs, si->main_area_sections,
510511
si->main_area_zones);
511-
seq_printf(s, " TYPE %8s %8s %8s %10s %10s %10s\n",
512-
"segno", "secno", "zoneno", "dirty_seg", "full_seg", "valid_blk");
513-
seq_printf(s, " - COLD data: %8d %8d %8d %10u %10u %10u\n",
512+
seq_printf(s, " TYPE %8s %8s %8s %8s %10s %10s %10s\n",
513+
"blkoff", "segno", "secno", "zoneno", "dirty_seg", "full_seg", "valid_blk");
514+
seq_printf(s, " - COLD data: %8d %8d %8d %8d %10u %10u %10u\n",
515+
si->blkoff[CURSEG_COLD_DATA],
514516
si->curseg[CURSEG_COLD_DATA],
515517
si->cursec[CURSEG_COLD_DATA],
516518
si->curzone[CURSEG_COLD_DATA],
517519
si->dirty_seg[CURSEG_COLD_DATA],
518520
si->full_seg[CURSEG_COLD_DATA],
519521
si->valid_blks[CURSEG_COLD_DATA]);
520-
seq_printf(s, " - WARM data: %8d %8d %8d %10u %10u %10u\n",
522+
seq_printf(s, " - WARM data: %8d %8d %8d %8d %10u %10u %10u\n",
523+
si->blkoff[CURSEG_WARM_DATA],
521524
si->curseg[CURSEG_WARM_DATA],
522525
si->cursec[CURSEG_WARM_DATA],
523526
si->curzone[CURSEG_WARM_DATA],
524527
si->dirty_seg[CURSEG_WARM_DATA],
525528
si->full_seg[CURSEG_WARM_DATA],
526529
si->valid_blks[CURSEG_WARM_DATA]);
527-
seq_printf(s, " - HOT data: %8d %8d %8d %10u %10u %10u\n",
530+
seq_printf(s, " - HOT data: %8d %8d %8d %8d %10u %10u %10u\n",
531+
si->blkoff[CURSEG_HOT_DATA],
528532
si->curseg[CURSEG_HOT_DATA],
529533
si->cursec[CURSEG_HOT_DATA],
530534
si->curzone[CURSEG_HOT_DATA],
531535
si->dirty_seg[CURSEG_HOT_DATA],
532536
si->full_seg[CURSEG_HOT_DATA],
533537
si->valid_blks[CURSEG_HOT_DATA]);
534-
seq_printf(s, " - Dir dnode: %8d %8d %8d %10u %10u %10u\n",
538+
seq_printf(s, " - Dir dnode: %8d %8d %8d %8d %10u %10u %10u\n",
539+
si->blkoff[CURSEG_HOT_NODE],
535540
si->curseg[CURSEG_HOT_NODE],
536541
si->cursec[CURSEG_HOT_NODE],
537542
si->curzone[CURSEG_HOT_NODE],
538543
si->dirty_seg[CURSEG_HOT_NODE],
539544
si->full_seg[CURSEG_HOT_NODE],
540545
si->valid_blks[CURSEG_HOT_NODE]);
541-
seq_printf(s, " - File dnode: %8d %8d %8d %10u %10u %10u\n",
546+
seq_printf(s, " - File dnode: %8d %8d %8d %8d %10u %10u %10u\n",
547+
si->blkoff[CURSEG_WARM_NODE],
542548
si->curseg[CURSEG_WARM_NODE],
543549
si->cursec[CURSEG_WARM_NODE],
544550
si->curzone[CURSEG_WARM_NODE],
545551
si->dirty_seg[CURSEG_WARM_NODE],
546552
si->full_seg[CURSEG_WARM_NODE],
547553
si->valid_blks[CURSEG_WARM_NODE]);
548-
seq_printf(s, " - Indir nodes: %8d %8d %8d %10u %10u %10u\n",
554+
seq_printf(s, " - Indir nodes: %8d %8d %8d %8d %10u %10u %10u\n",
555+
si->blkoff[CURSEG_COLD_NODE],
549556
si->curseg[CURSEG_COLD_NODE],
550557
si->cursec[CURSEG_COLD_NODE],
551558
si->curzone[CURSEG_COLD_NODE],
552559
si->dirty_seg[CURSEG_COLD_NODE],
553560
si->full_seg[CURSEG_COLD_NODE],
554561
si->valid_blks[CURSEG_COLD_NODE]);
555-
seq_printf(s, " - Pinned file: %8d %8d %8d\n",
562+
seq_printf(s, " - Pinned file: %8d %8d %8d %8d\n",
563+
si->blkoff[CURSEG_COLD_DATA_PINNED],
556564
si->curseg[CURSEG_COLD_DATA_PINNED],
557565
si->cursec[CURSEG_COLD_DATA_PINNED],
558566
si->curzone[CURSEG_COLD_DATA_PINNED]);
559-
seq_printf(s, " - ATGC data: %8d %8d %8d\n",
567+
seq_printf(s, " - ATGC data: %8d %8d %8d %8d\n",
568+
si->blkoff[CURSEG_ALL_DATA_ATGC],
560569
si->curseg[CURSEG_ALL_DATA_ATGC],
561570
si->cursec[CURSEG_ALL_DATA_ATGC],
562571
si->curzone[CURSEG_ALL_DATA_ATGC]);

fs/f2fs/f2fs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4188,6 +4188,7 @@ struct f2fs_stat_info {
41884188
int gc_secs[2][2];
41894189
int tot_blks, data_blks, node_blks;
41904190
int bg_data_blks, bg_node_blks;
4191+
int blkoff[NR_CURSEG_TYPE];
41914192
int curseg[NR_CURSEG_TYPE];
41924193
int cursec[NR_CURSEG_TYPE];
41934194
int curzone[NR_CURSEG_TYPE];

0 commit comments

Comments
 (0)