diff options
author | robi <robi> | 2011-12-15 18:21:45 +0000 |
---|---|---|
committer | robi <robi> | 2011-12-15 18:21:45 +0000 |
commit | 68176069298703104d23e24477ce6d5dc3c25cb1 (patch) | |
tree | 7d6fa24112fad15e6ad0cdfe8a643909cd823d06 /src | |
parent | 55b4aadfe0f41b1c54da739bb28ac3f0c8ea2e78 (diff) |
prevent some loops in large file systems >8TB
Diffstat (limited to 'src')
-rw-r--r-- | src/ext4magic.c | 22 | ||||
-rw-r--r-- | src/imap_search.c | 2 | ||||
-rw-r--r-- | src/inode.c | 4 | ||||
-rw-r--r-- | src/inode.h | 2 | ||||
-rw-r--r-- | src/util.c | 4 |
5 files changed, 17 insertions, 17 deletions
diff --git a/src/ext4magic.c b/src/ext4magic.c index 71d6a51..26c5a2e 100644 --- a/src/ext4magic.c +++ b/src/ext4magic.c @@ -278,7 +278,7 @@ char *des_dir = NULL; char *input_filename = NULL; blk_t superblock = 0; blk_t blocksize = 0; -int transaction_nr = 0; +__u32 transaction_nr = 0; int magicscan = 0; char *data_filename = 0; int mode = 0; @@ -434,7 +434,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { } mode |= COMMAND_INODE ; errno = 0; - inode_nr = strtol ( optarg, NULL, 10 ); + inode_nr = strtoul ( optarg, NULL, 10 ); if ( errno ) { fprintf(stderr,"Error: Invalid parameter: -I %s \n", optarg ); @@ -444,7 +444,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { if ( inode_nr < 1 ) { fprintf(stderr,"Error: %s -I: inodeNR \n", progname); - fprintf(stderr,"%d is out of range\n", inode_nr); + fprintf(stderr,"%lu is out of range\n", inode_nr); exitval = EXIT_FAILURE ; goto errout; } @@ -453,7 +453,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { case 'B': mode |= COMMAND_BLOCK ; errno = 0; - block_nr = strtol ( optarg, NULL, 10 ); + block_nr = strtoul ( optarg, NULL, 10 ); if ( errno ) { fprintf(stderr,"Error: Invalid parameter: -B %s \n", optarg ); @@ -463,7 +463,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { if ( block_nr < 1 ) { fprintf(stderr,"Error: %s -B: blockNR \n", progname); - fprintf(stderr,"%d is out of range\n", block_nr); + fprintf(stderr,"%lu is out of range\n", block_nr); exitval = EXIT_FAILURE ; goto errout; } @@ -473,7 +473,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { mode |= PRINT_TRANSACTION ; mode |= READ_JOURNAL; errno = 0; - transaction_nr = strtol ( optarg, NULL, 10 ); + transaction_nr = strtoul ( optarg, NULL, 10 ); if ( errno ) { fprintf(stderr,"Error: Invalid parameter: -t %s \n", optarg ); @@ -483,7 +483,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { if ( transaction_nr < 1 ) { fprintf(stderr,"Error: %s -t: transactionNR \n", progname); - fprintf(stderr,"%d is out of range\n", transaction_nr); + fprintf(stderr,"%lu is out of range\n", transaction_nr); exitval = EXIT_FAILURE ; goto errout; } @@ -581,7 +581,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { case 'b': errno = 0; - t_before = strtol ( optarg, NULL, 10 ); + t_before = strtoul ( optarg, NULL, 10 ); if ( errno ) { fprintf(stderr,"Error: Invalid parameter: -b %s \n", optarg ); @@ -591,7 +591,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { if ( t_before < 1 ) { fprintf(stderr,"Error: %s -b: time \n", progname); - fprintf(stderr,"%d is out of range\n", inode_nr); + fprintf(stderr,"%lu is out of range\n", inode_nr); exitval = EXIT_FAILURE ; goto errout; } @@ -600,7 +600,7 @@ while ((c = getopt (argc, argv, "TJRMLlmrSxi:t:j:f:Vd:B:b:a:I:H")) != EOF) { case 'a': errno = 0; - t_after = strtol ( optarg, NULL, 10 ); + t_after = strtoul ( optarg, NULL, 10 ); if ( errno ) { fprintf(stderr,"Error: Invalid parameter: -a %s \n", optarg ); @@ -1005,7 +1005,7 @@ if ((mode & COMMAND_INODE) && (mode & RECOVER_INODE)) imap = NULL; if (bmap){ if (!(current_fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS)){ - printf("MAGIC function for ext3 not available, use ext4magic 0.2.2 instead\n"); + printf("MAGIC function for ext3 not available, use ext4magic 0.2.3 instead\n"); // magic_block_scan3(des_dir, t_after); } else{ diff --git a/src/imap_search.c b/src/imap_search.c index 5d2e5ac..42fb207 100644 --- a/src/imap_search.c +++ b/src/imap_search.c @@ -156,7 +156,7 @@ char *i_pathname = NULL; char *buf= NULL; unsigned char *tmp_buf = NULL; __u32 blocksize, inodesize, inode_max, inode_per_group, block_count; -__u16 inode_per_block , inode_block_group, group; +__u32 inode_per_block , inode_block_group, group; blk_t block_nr; __u32 c_time, d_time, mode; ext2_ino_t first_block_inode_nr , inode_nr; diff --git a/src/inode.c b/src/inode.c index 7fb673e..cb2e1e4 100644 --- a/src/inode.c +++ b/src/inode.c @@ -510,7 +510,7 @@ blk_t get_inode_pos(struct ext2_super_block *es ,struct inode_pos_struct *pos, e // get journalinode from transactionnumber -int get_transaction_inode(ext2_ino_t inode_nr, int transaction_nr, struct ext2_inode_large *inode){ +int get_transaction_inode(ext2_ino_t inode_nr, __u32 transaction_nr, struct ext2_inode_large *inode){ struct inode_pos_struct pos; __u32 journal_block; blk_t block_nr; @@ -522,7 +522,7 @@ int get_transaction_inode(ext2_ino_t inode_nr, int transaction_nr, struct ext2_i block_nr = get_inode_pos(current_fs->super, &pos , inode_nr, 0); journal_block = get_journal_blocknr(block_nr, transaction_nr); if (! journal_block){ - fprintf(stdout,"No journalblock found for inode %u by transaction %u\n",inode_nr,transaction_nr); + fprintf(stdout,"No journalblock found for inode %lu by transaction %lu\n",inode_nr,transaction_nr); retval = -1; } else { diff --git a/src/inode.h b/src/inode.h index 399ead0..6127ac6 100644 --- a/src/inode.h +++ b/src/inode.h @@ -74,7 +74,7 @@ r_item* get_undel_inode(struct ring_buf*, __u32, __u32);// return the last undel r_item* get_last_undel_inode(struct ring_buf* );// return the last undeleted inode in journal blk_t get_inode_pos(struct ext2_super_block* , struct inode_pos_struct*, ext2_ino_t, int);//calculate the position of inode in FS void print_j_inode(struct ext2_inode_large* , ext2_ino_t , __u32, int );//function for dump_inode_list -int get_transaction_inode(ext2_ino_t, int, struct ext2_inode_large*);// get journalinode from transactionnumber +int get_transaction_inode(ext2_ino_t, __u32, struct ext2_inode_large*);// get journalinode from transactionnumber void dump_inode_list(struct ring_buf* , int);//print the contents of all copy of inode in the journal void dump_inode(FILE*, const char*, ext2_ino_t, struct ext2_inode*,int);//print the contents of inode int read_journal_inode( ext2_ino_t, struct ext2_inode*, __u32);// get the first Journal Inode by transaction @@ -109,7 +109,7 @@ struct ext2_group_desc *gdp; char *buf= NULL; int x, j, cm, zero_flag, retval; __u32 blocksize , inodesize , inode_max , inode_per_group, block_count; -__u16 inode_per_block , inode_block_group, group; +__u32 inode_per_block , inode_block_group, group; blk_t block_nr; __u32 i, c_time, d_time, cr_time; struct ext2_inode_large *inode; @@ -272,7 +272,7 @@ struct ext2_group_desc *gdp; char *buf= NULL; int zero_flag, x , retval; __u32 blocksize , inodesize , inode_max , inode_per_group, block_count; -__u16 inode_per_block , inode_block_group, group; +__u32 inode_per_block , inode_block_group, group; blk_t block_nr; __u32 i, c_time, d_time; __u32 last = 0; |