f2fs: show # of orphan inodes
authorJaegeuk Kim <jaegeuk@kernel.org>
Wed, 11 May 2016 02:13:50 +0000 (19:13 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 11 May 2016 16:56:36 +0000 (09:56 -0700)
This adds debug information for # of orphan inodes.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/debug.c
fs/f2fs/f2fs.h

index 818064bacfda6efcf676a0ba2e6671f33f47c7ee..37615b254581fbbdfc210a148515bea7e08a4492 100644 (file)
@@ -58,6 +58,7 @@ static void update_general_status(struct f2fs_sb_info *sbi)
        si->inline_xattr = atomic_read(&sbi->inline_xattr);
        si->inline_inode = atomic_read(&sbi->inline_inode);
        si->inline_dir = atomic_read(&sbi->inline_dir);
+       si->orphans = sbi->im[ORPHAN_INO].ino_num;
        si->utilization = utilization(sbi);
 
        si->free_segs = free_segments(sbi);
@@ -192,7 +193,7 @@ get_cache:
        si->cache_mem += NM_I(sbi)->dirty_nat_cnt *
                                        sizeof(struct nat_entry_set);
        si->cache_mem += si->inmem_pages * sizeof(struct inmem_pages);
-       for (i = 0; i <= UPDATE_INO; i++)
+       for (i = 0; i <= ORPHAN_INO; i++)
                si->cache_mem += sbi->im[i].ino_num * sizeof(struct ino_entry);
        si->cache_mem += atomic_read(&sbi->total_ext_tree) *
                                                sizeof(struct extent_tree);
@@ -238,6 +239,8 @@ static int stat_show(struct seq_file *s, void *v)
                           si->inline_inode);
                seq_printf(s, "  - Inline_dentry Inode: %u\n",
                           si->inline_dir);
+               seq_printf(s, "  - Orphan Inode: %u\n",
+                          si->orphans);
                seq_printf(s, "\nMain area: %d segs, %d secs %d zones\n",
                           si->main_area_segs, si->main_area_sections,
                           si->main_area_zones);
index 1401c96724c6c2b70e84f6e16af14fd8c60fb1c0..ec978b44d54673c40ec4b6a84bb07537204c1d89 100644 (file)
@@ -1997,7 +1997,7 @@ struct f2fs_stat_info {
        int nats, dirty_nats, sits, dirty_sits, fnids;
        int total_count, utilization;
        int bg_gc, inmem_pages, wb_pages;
-       int inline_xattr, inline_inode, inline_dir;
+       int inline_xattr, inline_inode, inline_dir, orphans;
        unsigned int valid_count, valid_node_count, valid_inode_count;
        unsigned int bimodal, avg_vblocks;
        int util_free, util_valid, util_invalid;