Files
reiserfsprogs/fsck/info.c
T
Jeff Mahoney 47cff72748 cleanup: run indent with the Linux Kernel style across all code
Over the years, the reiserfs kernel code has been gradually cleaned up
to be more readable. This patch does the same to the progs code.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
2013-08-26 17:14:42 -04:00

215 lines
6.0 KiB
C

/*
* Copyright 1996-2004 by Hans Reiser, licensing governed by
* reiserfsprogs/README
*/
#include "fsck.h"
int fsck_user_confirmed(reiserfs_filsys_t *fs, char *q, char *a,
int default_answer)
{
if (!fsck_interactive(fs))
return default_answer;
return user_confirmed(fsck_progress_file(fs), q, a);
}
void stage_report(int pass, reiserfs_filsys_t *fs)
{
switch (pass) {
case 0:
{
struct pass0_stat *stat;
/* what has been done on pass 0 */
stat = pass_0_stat(fs);
fsck_progress
("\tRead blocks (but not data blocks) %lu\n",
stat->dealt_with);
fsck_progress("\t\tLeaves among those %lu\n",
stat->leaves);
if (stat->leaves_corrected)
fsck_progress("\t\t\t- corrected leaves %lu\n",
stat->leaves_corrected);
if (stat->all_contents_removed)
fsck_progress
("\t\t\t- leaves all contents of which could not be saved and deleted %lu\n",
stat->all_contents_removed);
if (stat->too_old_leaves)
fsck_progress
("\t\t\t- too old leaves %lu (skipped)\n",
stat->too_old_leaves);
if (stat->wrong_pointers)
fsck_progress
("\t\tpointers in indirect items to wrong area %lu (zeroed)\n",
stat->wrong_pointers);
fsck_progress("\t\tObjectids found %lu\n",
proper_id_map(fs)->count);
}
break;
case 1:
{
struct pass1_stat *stat;
/* what has been done on pass 1 */
stat = pass_1_stat(fs);
fsck_progress("\t%lu leaves read\n", stat->leaves);
fsck_progress("\t\t%lu inserted\n",
stat->inserted_leaves);
if (stat->pointed_leaves)
fsck_progress
("\t\t\t- pointers in indirect items pointing to metadata %lu (zeroed)\n",
stat->pointed_leaves);
if (stat->saved_items)
fsck_progress("\tSaved %lu items\n",
stat->saved_items);
if (stat->uninsertable_leaves)
fsck_progress("\t\t%lu not inserted\n",
stat->uninsertable_leaves);
if (stat->non_unique_pointers)
fsck_progress
("\tnon-unique pointers in indirect items (zeroed) %lu\n",
stat->non_unique_pointers);
}
break;
case 2:
{
struct pass2_stat *stat;
/* what has been done on pass 2 */
stat = pass_2_stat(fs);
if (stat->leaves)
fsck_progress
("\tLeaves inserted item by item %lu\n",
stat->leaves);
if (stat->safe_non_unique_pointers)
fsck_progress("\t%lu \n",
stat->safe_non_unique_pointers);
if (stat->shared_objectids)
fsck_progress("\t%lu shared objectids\n",
stat->shared_objectids);
if (stat->relocated)
fsck_progress
("\tFiles relocated because of key conflicts with a directory %lu\n",
stat->relocated);
if (stat->rewritten)
fsck_progress("\tFiles rewritten %lu\n",
stat->rewritten);
}
break;
case 3: /* semantic */
{
struct semantic_stat *stat;
/* what has been done on the semantic pass */
stat = sem_pass_stat(fs);
fsck_progress("\tFiles found: %ld\n",
stat->regular_files);
fsck_progress("\tDirectories found: %ld\n",
stat->directories);
if (stat->symlinks)
fsck_progress("\tSymlinks found: %ld\n",
stat->symlinks);
if (stat->others)
fsck_progress("\tOthers: %ld\n", stat->others);
if (stat->broken_files)
fsck_progress
("\tBroken (of files/symlinks/others): %ld\n",
stat->broken_files);
if (stat->fixed_sizes)
fsck_progress("\tFiles with fixed size: %ld\n",
stat->fixed_sizes);
if (stat->deleted_entries)
fsck_progress
("\tNames pointing to nowhere (removed): %ld\n",
stat->deleted_entries);
if (stat->oid_sharing)
fsck_progress
("\tObjects having used objectids: %lu\n",
stat->oid_sharing);
if (stat->oid_sharing_files_relocated)
fsck_progress("\t\tfiles fixed %lu\n",
stat->
oid_sharing_files_relocated);
if (stat->oid_sharing_dirs_relocated)
fsck_progress("\t\tdirs fixed %lu\n",
stat->oid_sharing_dirs_relocated);
}
break;
case 0x3a: /* lost+found pass */
{
struct lost_found_stat *stat;
/* what has been done on the semantic pass */
stat = lost_found_pass_stat(fs);
if (stat->lost_found)
fsck_progress("\tObjects without names %lu\n",
stat->lost_found);
if (stat->empty_lost_dirs)
fsck_progress("\tEmpty lost dirs removed %lu\n",
stat->empty_lost_dirs);
if (stat->lost_found_dirs)
fsck_progress
("\tDirs linked to /lost+found: %lu\n",
stat->lost_found_dirs);
if (stat->dir_recovered)
fsck_progress
("\t\tDirs without stat data found %lu\n",
stat->dir_recovered);
if (stat->lost_found_files)
fsck_progress
("\tFiles linked to /lost+found %lu\n",
stat->lost_found_files);
if (stat->oid_sharing)
fsck_progress
("\tObjects having used objectids: %lu\n",
stat->oid_sharing);
if (stat->oid_sharing_files_relocated)
fsck_progress("\t\tfiles fixed %lu\n",
stat->
oid_sharing_files_relocated);
if (stat->oid_sharing_dirs_relocated)
fsck_progress("\t\tdirs fixed %lu\n",
stat->oid_sharing_dirs_relocated);
}
break;
case 4: /* removing of unreachable */
{
struct pass_4_stat *stat;
/* what has been done on the semantic pass */
stat = pass_4_stat(fs);
if (stat->deleted_items)
fsck_progress
("\tDeleted unreachable items %lu\n",
stat->deleted_items);
}
break;
case 5:
fsck_progress("There are on the filesystem:\n"
"\tLeaves %lu\n\tInternal nodes %lu\n"
"\tDirectories %lu\n\tOther files %lu\n"
"\tData block pointers %lu (%lu of them are zero)\n"
"\tSafe links %lu\n",
fsck_check_stat(fs)->leaves,
fsck_check_stat(fs)->internals,
fsck_check_stat(fs)->dirs,
fsck_check_stat(fs)->files,
fsck_check_stat(fs)->unfm_pointers,
fsck_check_stat(fs)->zero_unfm_pointers,
fsck_check_stat(fs)->safe);
} /* switch */
memset(&fsck_data(fs)->rebuild.pass_u, 0,
sizeof(fsck_data(fs)->rebuild.pass_u));
}