Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Mar 2001 17:56:55 -0800
From:      Dima Dorfman <dima@unixfreak.org>
To:        James Housley <jim@thehousleys.net>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Inherate nodump cause significant slow down of dump 
Message-ID:  <20010317015657.C47D03E1E@bazooka.unixfreak.org>
In-Reply-To: <3AB2BD3B.7E65D416@thehousleys.net>; from jim@thehousleys.net on "Fri, 16 Mar 2001 20:26:19 -0500"

next in thread | previous in thread | raw e-mail | index | archive | help
[ Should this really be on -arch? ]

James Housley <jim@thehousleys.net> writes:
> Dima Dorfman wrote:
> > I'm not terribly opposed to this, but OTOH I don't see why it's
> > necessary.  The slowdown only occurs if you set nodump on a directory.
> > With the old behavior, this wouldn't do anything useful (AFAIK), so if
> > you have nodump on a directory, you probably expect the new behavior.
> > The latter has a problem with taking more time than it should (I think
> > it actually takes the same amount of time as dumping everything under
> > the nodump'd directory would).  In other words, the only thing that's
> > broken is the new feature.
> > 
> 
> I haven't tested this yet, but should be able to tomorrow.  But I
> believe that if I do chflags -R nodump /usr/ports it will not a
> significant more amount of time to process, throught Phase II, then with
> out the nodump flags under the old version.

I just tried it, and, as I suspected, it isn't the case.  The slowdown
is caused by the fact that for every directory with subdirectories and
the nodump flag set, mapdirs returns 1, which causes it to be run
again.  You can test this theory by commenting out lines 250 and 251
in rev. 1.12 of traverse.c (this will fix the slowdown, but break
everything else).

> I am also guessing the with the new version chflags -R nodump /usr/ports
> will be about the same amount of time as with the old code.  I am not
> opposed to the feature.  Acutally I was suprised that that is not the
> way it worked when I first found the flag.  However, there has to be a
> better way to implement it.

dump's tree-walker is braindead.  It can be implemented by adding
another pass; I don't know if that will make it better or worse.  If I
can't fix this, I'll try that.

> BTW it breaks amanda's dump estimates.

Regardless of whether nodump is used on directories?

					Dima Dorfman
					dima@unixfreak.org

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010317015657.C47D03E1E>