Whamcloud - gitweb
blkid: fix ZFS device detection
[tools/e2fsprogs.git] / ext2ed / inode_com.c
index d2c0638..2d3dd6d 100644 (file)
@@ -12,6 +12,7 @@ Copyright (C) 1995 Gadi Oxman
 
 */
 
+#include "config.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -51,7 +52,7 @@ void type_ext2_inode___prev (char *command_line)
        if (entry_num-mult+1>0) {
                device_offset-=sizeof (struct ext2_inode)*mult;
                entry_num-=mult;
-               
+
                sprintf (buffer,"setoffset %ld",device_offset);dispatch (buffer);
                strcpy (buffer,"show");dispatch (buffer);
        }
@@ -59,7 +60,7 @@ void type_ext2_inode___prev (char *command_line)
        else {
                wprintw (command_win,"Error - Entry out of limits\n");refresh_command_win ();
        }
-       
+
        if (entry_num==0) {
                wprintw (command_win,"Reached first inode in current group descriptor\n");
                refresh_command_win ();
@@ -77,7 +78,7 @@ void type_ext2_inode___next (char *command_line)
        struct ext2_group_desc desc;
 
        ptr=parse_word (command_line,buffer);
-       
+
        if (*ptr!=0) {
                ptr=parse_word (ptr,buffer);
                mult=atol (buffer);
@@ -99,7 +100,7 @@ void type_ext2_inode___next (char *command_line)
        if (entry_num+mult-1<last_entry) {
                device_offset+=sizeof (struct ext2_inode)*mult;
                entry_num+=mult;
-               
+
                sprintf (buffer,"setoffset %ld",device_offset);dispatch (buffer);
                strcpy (buffer,"show");dispatch (buffer);
        }
@@ -107,7 +108,7 @@ void type_ext2_inode___next (char *command_line)
        else {
                wprintw (command_win,"Error - Entry out of limits\n");refresh_command_win ();
        }
-       
+
        if (entry_num==last_entry) {
                wprintw (command_win,"Reached last inode in current group descriptor\n");
                refresh_command_win ();
@@ -119,10 +120,10 @@ void type_ext2_inode___show (char *command_line)
 
 {
        struct ext2_inode *inode_ptr;
-       
+
        unsigned short temp;
        int i;
-       
+
        long group_num,group_offset,entry_num,block_num,first_entry,last_entry,inode_num;
        struct ext2_group_desc desc;
 
@@ -150,7 +151,7 @@ void type_ext2_inode___show (char *command_line)
                        wprintw (show_pad,"r");
                else
                        wprintw (show_pad,"-");
-               
+
                if (temp & 2)
                        wprintw (show_pad,"w");
                else
@@ -168,7 +169,7 @@ void type_ext2_inode___show (char *command_line)
 
        wmove (show_pad,10,40);
        temp=inode_ptr->i_flags;
-       
+
        if (temp & EXT2_SECRM_FL)
                wprintw (show_pad,"s");
        else
@@ -204,17 +205,17 @@ void type_ext2_inode___show (char *command_line)
                wprintw (show_pad,"d");
        else
                wprintw (show_pad,"-");
-       
+
        refresh_show_pad ();
 
        wmove (show_win,1,0);
 
        wprintw (show_win,"Inode %ld of %ld. Entry %ld of %ld in group descriptor %ld.\n"
                ,inode_num,file_system_info.super_block.s_inodes_count,entry_num,last_entry,group_num);
-       
+
        wprintw (show_win,"Inode type: ");
 
-       if (inode_num < EXT2_FIRST_INO) {
+       if (inode_num < EXT2_GOOD_OLD_FIRST_INO) {
                switch (inode_num) {
                        case EXT2_BAD_INO:
                                wprintw (show_win,"Bad blocks inode - ");
@@ -222,11 +223,11 @@ void type_ext2_inode___show (char *command_line)
                        case EXT2_ROOT_INO:
                                wprintw (show_win,"Root inode - ");
                                break;
-                       case EXT2_ACL_IDX_INO:
-                               wprintw (show_win,"ACL index inode - ");
+                       case EXT4_USR_QUOTA_INO:
+                               wprintw (show_win,"User quota inode - ");
                                break;
-                       case EXT2_ACL_DATA_INO:
-                               wprintw (show_win,"ACL data inode - ");
+                       case EXT4_GRP_QUOTA_INO:
+                               wprintw (show_win,"Group quota inode - ");
                                break;
                        case EXT2_BOOT_LOADER_INO:
                                wprintw (show_win,"Boot loader inode - ");
@@ -241,7 +242,7 @@ void type_ext2_inode___show (char *command_line)
        }
        if (type_data.u.t_ext2_inode.i_mode==0)
                wprintw (show_win,"Free.            ");
-               
+
        if (S_ISREG (type_data.u.t_ext2_inode.i_mode))
                wprintw (show_win,"File.            ");
 
@@ -255,7 +256,7 @@ void type_ext2_inode___show (char *command_line)
                if (inode_ptr->i_size <= 60)
                        wprintw (show_pad,"-> %s",(char *) &type_data.u.t_ext2_inode.i_block [0]);
                else
-                       wprintw (show_pad,"Slow symbolic link\n");                      
+                       wprintw (show_pad,"Slow symbolic link\n");
                refresh_show_pad ();
        }
 
@@ -266,7 +267,7 @@ void type_ext2_inode___show (char *command_line)
                wprintw (show_win,"Block device.    ");
 
        wprintw (show_win,"\n");refresh_show_win ();
-       
+
        if (entry_num==last_entry) {
                wprintw (command_win,"Reached last inode in current group descriptor\n");
                refresh_command_win ();
@@ -305,7 +306,7 @@ void type_ext2_inode___entry (char *command_line)
                sprintf (buffer,"next %ld",wanted_entry-entry_num);
                dispatch (buffer);
        }
-       
+
        else if (wanted_entry < entry_num) {
                sprintf (buffer,"prev %ld",entry_num-wanted_entry);
                dispatch (buffer);
@@ -316,12 +317,12 @@ void type_ext2_inode___group (char *command_line)
 
 {
        char buffer [80];
-       
+
        long group_num,group_offset;
-       
+
        group_num=inode_offset_to_group_num (device_offset);
        group_offset=file_system_info.first_group_desc_offset+group_num*sizeof (struct ext2_group_desc);
-       
+
        sprintf (buffer,"setoffset %ld",group_offset);dispatch (buffer);
        sprintf (buffer,"settype ext2_group_desc");dispatch (buffer);
 }
@@ -330,17 +331,17 @@ void type_ext2_inode___file (char *command_line)
 
 {
        char buffer [80];
-       
+
        if (!S_ISREG (type_data.u.t_ext2_inode.i_mode)) {
                wprintw (command_win,"Error - Inode type is not file\n");refresh_command_win ();
-               return;         
+               return;
        }
-       
+
        if (!init_file_info ()) {
                wprintw (command_win,"Error - Unable to show file\n");refresh_command_win ();
-               return;         
+               return;
        }
-       
+
        sprintf (buffer,"settype file");dispatch (buffer);
 }
 
@@ -348,21 +349,21 @@ void type_ext2_inode___dir (char *command_line)
 
 {
        char buffer [80];
-       
+
        if (!S_ISDIR (type_data.u.t_ext2_inode.i_mode)) {
                wprintw (command_win,"Error - Inode type is not directory\n");refresh_command_win ();
-               return;         
+               return;
        }
 
-/* It is very important to init first_file_info first, as search_dir_entries relies on it */   
+/* It is very important to init first_file_info first, as search_dir_entries relies on it */
 
        if (!init_dir_info (&first_file_info)) {
                wprintw (command_win,"Error - Unable to show directory\n");refresh_command_win ();
-               return;         
+               return;
        }
-       
+
        file_info=first_file_info;
-       
+
        sprintf (buffer,"settype dir");dispatch (buffer);
 }
 
@@ -371,9 +372,9 @@ long inode_offset_to_group_num (long inode_offset)
 {
        int found=0;
        struct ext2_group_desc desc;
-       
+
        long block_num,group_offset,group_num;
-       
+
        block_num=inode_offset/file_system_info.block_size;
 
        group_offset=file_system_info.first_group_desc_offset;
@@ -387,14 +388,14 @@ long inode_offset_to_group_num (long inode_offset)
                        group_offset+=sizeof (struct ext2_group_desc);
                group_num=(group_offset-file_system_info.first_group_desc_offset)/sizeof (struct ext2_group_desc);
        }
-       
+
        if (!found)
                return (-1);
 
        return (group_num);
 }
 
+
 
 long int inode_offset_to_inode_num (long inode_offset)
 
@@ -413,7 +414,7 @@ long int inode_offset_to_inode_num (long inode_offset)
        first_entry=0;last_entry=file_system_info.super_block.s_inodes_per_group-1;
        inode_num=group_num*file_system_info.super_block.s_inodes_per_group+1;
        inode_num+=entry_num;
-       
+
        return (inode_num);
 }
 
@@ -424,7 +425,7 @@ long int inode_num_to_inode_offset (long inode_num)
        struct ext2_group_desc desc;
 
        inode_num--;
-       
+
        group_num=inode_num/file_system_info.super_block.s_inodes_per_group;
        inode_entry=inode_num%file_system_info.super_block.s_inodes_per_group;
        group_offset=file_system_info.first_group_desc_offset+group_num*sizeof (struct ext2_group_desc);