summaryrefslogtreecommitdiffstats
path: root/sbin/fsck_ffs/pass3.c
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2000-12-15 14:23:55 +0000
committeriedowse <iedowse@FreeBSD.org>2000-12-15 14:23:55 +0000
commit3e3c84c80c9f9500c397dc4b174259d631441b7f (patch)
tree8b803dfd960b8552dd62173dfdcbbabec2ada0d4 /sbin/fsck_ffs/pass3.c
parentf15d921e9eff691ff94f40f1490b10cd0ab78d65 (diff)
downloadFreeBSD-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.c6
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 ||
OpenPOWER on IntegriCloud