commit c5bd3ee04c8348e63e84b54eadad72325e4d4b37 Author: Bob Peterson <bob@ganesha.peterson> Date: Mon Aug 31 12:02:57 2009 -0500 GFS2: gfs2_edit prints wrong directory entry type for gfs1 This patch adds the ability for gfs2_edit to correctly interpret gfs1 directory entry types. rhbz#503529 diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c index e1e2258..173f398 100644 --- a/gfs2/edit/hexedit.c +++ b/gfs2/edit/hexedit.c @@ -1189,6 +1189,38 @@ int has_indirect_blocks(void) /* ------------------------------------------------------------------------ */ void print_inode_type(__be16 de_type) { + if (gfs1) { + switch(de_type) { + case GFS_FILE_NON: + print_gfs2("Unknown"); + break; + case GFS_FILE_REG: + print_gfs2("File "); + break; + case GFS_FILE_DIR: + print_gfs2("Dir "); + break; + case GFS_FILE_LNK: + print_gfs2("Symlink"); + break; + case GFS_FILE_BLK: + print_gfs2("BlkDev "); + break; + case GFS_FILE_CHR: + print_gfs2("ChrDev "); + break; + case GFS_FILE_FIFO: + print_gfs2("Fifo "); + break; + case GFS_FILE_SOCK: + print_gfs2("Socket "); + break; + default: + print_gfs2("%04x ", de_type); + break; + } + return; + } switch(de_type) { case DT_UNKNOWN: print_gfs2("Unknown"); @@ -1253,10 +1285,8 @@ int display_leaf(struct iinfo *ind) strcpy(edit_fmt, "%"PRIx64); } } - print_gfs2("%d. (%d). %lld (0x%llx) / %lld (0x%llx): ", + print_gfs2("%d. (%d). %lld (0x%llx): ", total_dirents, d + 1, - ind->ii[0].dirent[d].dirent.de_inum.no_formal_ino, - ind->ii[0].dirent[d].dirent.de_inum.no_formal_ino, ind->ii[0].dirent[d].block, ind->ii[0].dirent[d].block); }