diff options
author | iedowse <iedowse@FreeBSD.org> | 2000-12-15 14:23:55 +0000 |
---|---|---|
committer | iedowse <iedowse@FreeBSD.org> | 2000-12-15 14:23:55 +0000 |
commit | 3e3c84c80c9f9500c397dc4b174259d631441b7f (patch) | |
tree | 8b803dfd960b8552dd62173dfdcbbabec2ada0d4 /sbin/fsck_ffs/pass3.c | |
parent | f15d921e9eff691ff94f40f1490b10cd0ab78d65 (diff) | |
download | FreeBSD-src-3e3c84c80c9f9500c397dc4b174259d631441b7f.zip FreeBSD-src-3e3c84c80c9f9500c397dc4b174259d631441b7f.tar.gz |
Add a simple SIGINFO handler to fsck_ffs. Shortly after receipt of
a SIGINFO (normally via Ctrl-T), a line will be output indicating
the current phase number and progress information relevant to the
current phase.
Approved by: mckusick
Diffstat (limited to 'sbin/fsck_ffs/pass3.c')
-rw-r--r-- | sbin/fsck_ffs/pass3.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sbin/fsck_ffs/pass3.c b/sbin/fsck_ffs/pass3.c index 80e38e9..730af5f 100644 --- a/sbin/fsck_ffs/pass3.c +++ b/sbin/fsck_ffs/pass3.c @@ -59,6 +59,12 @@ pass3() char namebuf[MAXNAMLEN+1]; for (inpindex = inplast - 1; inpindex >= 0; inpindex--) { + if (got_siginfo) { + printf("%s: phase 3: dir %d of %d (%d%%)\n", cdevname, + inplast - inpindex - 1, inplast, + (inplast - inpindex - 1) * 100 / inplast); + got_siginfo = 0; + } inp = inpsort[inpindex]; state = inoinfo(inp->i_number)->ino_state; if (inp->i_number == ROOTINO || |