]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
misc: use EXT2_I_SIZE() consistently to get size
authorAndreas Dilger <adilger@whamcloud.com>
Fri, 8 Jul 2011 23:54:57 +0000 (17:54 -0600)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 9 Jul 2011 00:52:59 +0000 (20:52 -0400)
Use the EXT2_I_SIZE() macro consistently to access the inode size.
The i_size/i_size_high combination is open coded in several places.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
debugfs/debugfs.c
debugfs/ls.c
debugfs/lsdel.c
e2fsck/message.c
e2fsck/pass1.c
e2fsck/pass2.c
e2fsck/super.c
lib/ext2fs/extent.c
lib/ext2fs/fileio.c

index 55d16af95f74c386a3087968762bbac3fe22a48f..12ee638a62803c16d803e231e91b4859d59b67c5 100644 (file)
@@ -722,12 +722,9 @@ void internal_dump_inode(FILE *out, const char *prefix,
        }
        fprintf(out, "%sUser: %5d   Group: %5d   Size: ",
                prefix, inode_uid(*inode), inode_gid(*inode));
-       if (LINUX_S_ISREG(inode->i_mode)) {
-               unsigned long long i_size = (inode->i_size |
-                                   ((unsigned long long)inode->i_size_high << 32));
-
-               fprintf(out, "%llu\n", i_size);
-       } else
+       if (LINUX_S_ISREG(inode->i_mode))
+               fprintf(out, "%llu\n", EXT2_I_SIZE(inode));
+       else
                fprintf(out, "%d\n", inode->i_size);
        if (os == EXT2_OS_HURD)
                fprintf(out,
@@ -901,9 +898,7 @@ void do_dump_extents(int argc, char **argv)
                return;
        }
 
-       logical_width = int_log10(((inode.i_size |
-                                   (__u64) inode.i_size_high << 32) +
-                                  current_fs->blocksize - 1) /
+       logical_width = int_log10((EXT2_I_SIZE(&inode)+current_fs->blocksize-1)/
                                  current_fs->blocksize) + 1;
        if (logical_width < 5)
                logical_width = 5;
index 906504e7aed775dab399ddbdea8c08e7ff33b09c..8e019d20d1b900756eacc9086c0aaa04e82b7f87 100644 (file)
@@ -79,7 +79,7 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
                if (LINUX_S_ISDIR(inode.i_mode))
                        fprintf(ls->f, "/");
                else
-                       fprintf(ls->f, "%lld/", inode.i_size | ((__u64)inode.i_size_high << 32));
+                       fprintf(ls->f, "%lld/", EXT2_I_SIZE(&inode));
                fprintf(ls->f, "\n");
        }
        else if (ls->options & LONG_OPT) {
@@ -102,8 +102,7 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)),
                if (LINUX_S_ISDIR(inode.i_mode))
                        fprintf(ls->f, "%5d", inode.i_size);
                else
-                       fprintf(ls->f, "%5llu", inode.i_size |
-                               ((unsigned long long) inode.i_size_high << 32));
+                       fprintf(ls->f, "%5llu", EXT2_I_SIZE(&inode));
                fprintf (ls->f, " %s %s\n", datestr, name);
        } else {
                sprintf(tmp, "%c%u%c (%d) %s   ", lbr, dirent->inode, rbr,
index 91ac06ade0114334d9a2dd6f2c5ebd6f3c0fb1da..ba7a90f65e370f8ce9dd4dce7adebe7e67f2a273 100644 (file)
@@ -164,10 +164,7 @@ void do_lsdel(int argc, char **argv)
                        delarray[num_delarray].ino = ino;
                        delarray[num_delarray].mode = inode.i_mode;
                        delarray[num_delarray].uid = inode_uid(inode);
-                       delarray[num_delarray].size = inode.i_size;
-                       if (!LINUX_S_ISDIR(inode.i_mode))
-                               delarray[num_delarray].size |=
-                                       ((__u64) inode.i_size_high << 32);
+                       delarray[num_delarray].size = EXT2_I_SIZE(&inode);
                        delarray[num_delarray].dtime = inode.i_dtime;
                        delarray[num_delarray].num_blocks = lsd.num_blocks;
                        delarray[num_delarray].free_blocks = lsd.free_blocks;
index d560cf8bfcdd76d140745bfe74ad7c5c77c9f344..c4567526122b411637f146d4039b5f8dd254097f 100644 (file)
@@ -282,8 +282,7 @@ static _INLINE_ void expand_inode_expression(ext2_filsys fs, char ch,
                        else
                                printf("%u", inode->i_size);
 #else
-                       printf("%llu", inode->i_size |
-                                      ((long long)inode->i_size_high << 32));
+                       printf("%llu", EXT2_I_SIZE(inode));
 #endif
                }
                break;
index dbf3c9426122e09449a09bf515488484ba1086bb..75491cf7e1be5270583b93f55f69381eacbf7499 100644 (file)
@@ -256,7 +256,7 @@ static void check_size(e2fsck_t ctx, struct problem_context *pctx)
 {
        struct ext2_inode *inode = pctx->inode;
 
-       if ((inode->i_size == 0) && (inode->i_size_high == 0))
+       if (EXT2_I_SIZE(inode) == 0)
                return;
 
        if (!fix_problem(ctx, PR_1_SET_NONZSIZE, pctx))
@@ -2045,8 +2045,7 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx,
                }
                pctx->num = 0;
        }
-       if (LINUX_S_ISREG(inode->i_mode) &&
-           (inode->i_size_high || inode->i_size & 0x80000000UL))
+       if (LINUX_S_ISREG(inode->i_mode) && EXT2_I_SIZE(inode) >= 0x80000000UL)
                ctx->large_files++;
        if ((pb.num_blocks != ext2fs_inode_i_blocks(fs, inode)) ||
            ((fs->super->s_feature_ro_compat &
index b97a0b3d907a8449ae3da2c912959b73cede66e7..2863699232d49a9396c21e8f813ac2070d3e889c 100644 (file)
@@ -1220,8 +1220,7 @@ static void deallocate_inode(e2fsck_t ctx, ext2_ino_t ino, char* block_buf)
        if (!ext2fs_inode_has_valid_blocks(&inode))
                return;
 
-       if (LINUX_S_ISREG(inode.i_mode) &&
-           (inode.i_size_high || inode.i_size & 0x80000000UL))
+       if (LINUX_S_ISREG(inode.i_mode) && EXT2_I_SIZE(&inode) >= 0x80000000UL)
                ctx->large_files--;
 
        pctx.errcode = ext2fs_block_iterate3(fs, ino, 0, block_buf,
index 2fffc5346233aabb614a67f84eefff75a28f2d19..a61eb338dafa3d56cb074da7efdab878f7b074ea 100644 (file)
@@ -170,8 +170,7 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino,
        if (inode->i_links_count) {
                pb.truncating = 1;
                pb.truncate_block = (e2_blkcnt_t)
-                       ((((long long)inode->i_size_high << 32) +
-                         inode->i_size + fs->blocksize - 1) /
+                       ((EXT2_I_SIZE(inode) + fs->blocksize - 1) /
                         fs->blocksize);
                pb.truncate_offset = inode->i_size % fs->blocksize;
        } else {
index 5e0709259a8c681d70cce4543fa9126779031884..abb60dde6f7d2e9126aa57b35f3417b81e2b1952 100644 (file)
@@ -253,9 +253,8 @@ extern errcode_t ext2fs_extent_open2(ext2_filsys fs, ext2_ino_t ino,
        handle->path[0].max_entries = ext2fs_le16_to_cpu(eh->eh_max);
        handle->path[0].curr = 0;
        handle->path[0].end_blk =
-               ((((__u64) handle->inode->i_size_high << 32) +
-                 handle->inode->i_size + (fs->blocksize - 1))
-                >> EXT2_BLOCK_SIZE_BITS(fs->super));
+               (EXT2_I_SIZE(handle->inode) + fs->blocksize - 1) >>
+                EXT2_BLOCK_SIZE_BITS(fs->super);
        handle->path[0].visit_num = 1;
        handle->level = 0;
        handle->magic = EXT2_ET_MAGIC_EXTENT_HANDLE;
index d62ef35beeca902605e66c79c516a5c022f91cd4..324f0464984f3614dd98985fbf0c4d80403d3f4d 100644 (file)
@@ -376,8 +376,7 @@ errcode_t ext2fs_file_set_size2(ext2_file_t file, ext2_off64_t size)
 
        truncate_block = ((size + file->fs->blocksize - 1) >>
                          EXT2_BLOCK_SIZE_BITS(file->fs->super)) + 1;
-       old_size = file->inode.i_size +
-               ((blk64_t)file->inode.i_size_high << 32);
+       old_size = EXT2_I_SIZE(&file->inode);
        old_truncate = ((old_size + file->fs->blocksize - 1) >>
                      EXT2_BLOCK_SIZE_BITS(file->fs->super)) + 1;