Whamcloud - gitweb
dumpe2fs, debugfs, e2image: Add support for orphan file
authorJan Kara <jack@suse.cz>
Wed, 25 Aug 2021 22:11:34 +0000 (00:11 +0200)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 1 Oct 2021 01:59:09 +0000 (21:59 -0400)
Print inode number of orphan file in outputs, dump e2image file to
filesystem image.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
debugfs/set_fields.c
lib/e2p/ls.c
misc/e2image.c

index b001579..f916dea 100644 (file)
@@ -183,6 +183,7 @@ static struct field_set_info super_fields[] = {
        { "lpf_ino", &set_sb.s_lpf_ino, NULL, 4, parse_uint },
        { "checksum_seed", &set_sb.s_checksum_seed, NULL, 4, parse_uint },
        { "encoding", &set_sb.s_encoding, NULL, 2, parse_encoding },
+       { "orphan_file_inum", &set_sb.s_orphan_file_inum, NULL, 4, parse_uint },
        { 0, 0, 0, 0 }
 };
 
index 176bee0..1762bc4 100644 (file)
@@ -482,6 +482,9 @@ void list_super2(struct ext2_super_block * sb, FILE *f)
        if (ext2fs_has_feature_casefold(sb))
                fprintf(f, "Character encoding:       %s\n",
                        e2p_encoding2str(sb->s_encoding));
+       if (ext2fs_has_feature_orphan_file(sb))
+               fprintf(f, "Orphan file inode:        %u\n",
+                       sb->s_orphan_file_inum);
 }
 
 void list_super (struct ext2_super_block * s)
index 0053b51..2c1f3db 100644 (file)
@@ -1370,7 +1370,8 @@ static void write_raw_image_file(ext2_filsys fs, int fd, int type, int flags,
                    ino == fs->super->s_journal_inum ||
                    ino == quota_type2inum(USRQUOTA, fs->super) ||
                    ino == quota_type2inum(GRPQUOTA, fs->super) ||
-                   ino == quota_type2inum(PRJQUOTA, fs->super)) {
+                   ino == quota_type2inum(PRJQUOTA, fs->super) ||
+                   ino == fs->super->s_orphan_file_inum) {
                        retval = ext2fs_block_iterate3(fs, ino,
                                        BLOCK_FLAG_READ_ONLY, block_buf,
                                        process_dir_block, &pb);