Subject: Re: Progress meter for fsck, revisited
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Greywolf <greywolf@starwolf.com>
List: tech-userlevel
Date: 01/13/2004 19:04:33
Thus spake Nathan J. Williams ("NJW> ") sometime Today...

NJW> Jason Thorpe <thorpej@wasabisystems.com> writes:
NJW>
NJW> > It's a complicated thing to merge all that output, I made the
NJW> > conscious decision not to do it, and I don't intend to change my mind
NJW> > on the issue.
NJW>
NJW> I think this change sucks. It's cute to have the progress-bar output,
NJW> but parallel fsck is sufficently useful for speed that it means the
NJW> progress bar can only be used in single-filesystem configurations,
NJW> which rules out many configurations. Why add the progress bar if it's
NJW> so completely limited?

I don't think it so much sucks as much as it's just special cased to
suit something Jason needs.  I don't mind the change; since it's optional,
I'd kind of like to see it in, but I think the code should not be lumped
into #ifndef SMALL (one might want the progress meter but not the getpw*
code, for example).

I will maintain that, while parallelism is per disk and not per fs (I knew
that), you STILL have to traverse the tree, read in the fsck pass number
on a _per FS basis_, which means you can STILL get an idea of how much
stuff you have to fsck.

In addition, I think the coordination between fsck's parallel processes
and the controlling process sucks.  If you generate a SIGQUIT, it's supposed
to wait until all the current fscks finish and then exit with an error,
tossing you back into single-user mode.  However, it does not work that way
as it stands, and I've found it something of an irritation for a long while
now.  I've not yet, however, figured a way around it.  It still sucks.

To branch out a bit, perhaps a libprocmeter is in order.  I could see
it being useful somewhere down the road.  Dump/restore would be kind of
cool with a PM; ftp has a PM; scp has one; rsync has one...

I think the thing that puts people off is the hard-line attitude when
someone develops something.  Sure, when you develop a useful tool and
present it, you're looking for accolades and the like, and it hurts when
people don't come forward with them.  But take it as constructive
criticism, instead of as an attack on what you've done.

In case you missed the accolade, Jason, "I think it's a cool idea."

To sum up:  Idea's cool, it should eventually be genericised, turned
into an API and probably placed into its own library.

Now, have I missed anything?

				--*greywolf;
--
22 Ways to Get Yourself Killed While Watching 'The Lord Of The Rings':

#5: Ask everyone around you if they think Gandalf went to Hogwarts.