static int extents_before_defrag;
static int extents_after_defrag;
static int mode_flag;
-static uid_t current_uid;
-static unsigned long long defraged_file_count;
-static unsigned long long frag_files_before_defrag;
-static unsigned long long frag_files_after_defrag;
-static unsigned long long regular_count;
-static unsigned long long succeed_cnt;
-static unsigned long long total_count;
+static unsigned int current_uid;
+static unsigned int defraged_file_count;
+static unsigned int frag_files_before_defrag;
+static unsigned int frag_files_after_defrag;
+static unsigned int regular_count;
+static unsigned int succeed_cnt;
+static unsigned int total_count;
static __u8 log_groups_per_flex;
static __u32 blocks_per_group;
static __u32 feature_incompat;
offset += pagesize;
continue;
}
- if (posix_fadvise(fd, offset, pagesize, fadvise_flag) < 0) {
+ if ((errno = posix_fadvise(fd, offset,
+ pagesize, fadvise_flag)) != 0) {
if ((mode_flag & DETAIL) && flag) {
perror("\tFailed to fadvise");
flag = 0;
struct fiemap_extent_list *logical_list_head = NULL;
defraged_file_count++;
+ if (defraged_file_count > total_count)
+ total_count = defraged_file_count;
if (mode_flag & DETAIL) {
if (total_count == 1 && regular_count == 1)
struct fiemap_extent_group *orig_group_tmp = NULL;
defraged_file_count++;
+ if (defraged_file_count > total_count)
+ total_count = defraged_file_count;
if (mode_flag & DETAIL) {
printf("[%u/%u]", defraged_file_count, total_count);
}
/* File tree walk */
nftw64(dir_name, file_defrag, FTW_OPEN_FD, flags);
- printf("\n\tSuccess:\t\t\t[ %llu/%llu ]\n",
- succeed_cnt, total_count);
- printf("\tFailure:\t\t\t[ %llu/%llu ]\n",
+ printf("\n\tSuccess:\t\t\t[ %u/%u ]\n", succeed_cnt,
+ total_count);
+ printf("\tFailure:\t\t\t[ %u/%u ]\n",
total_count - succeed_cnt, total_count);
if (mode_flag & DETAIL) {
printf("\tTotal extents:\t\t\t%4d->%d\n",
printf("\tFragmented percentage:\t\t"
"%3llu%%->%llu%%\n",
!regular_count ? 0 :
- (frag_files_before_defrag * 100) /
+ ((unsigned long long)
+ frag_files_before_defrag * 100) /
regular_count,
!regular_count ? 0 :
- (frag_files_after_defrag * 100) /
+ ((unsigned long long)
+ frag_files_after_defrag * 100) /
regular_count);
}
break;