Dima Dorfman wrote:
> 
> James Housley <[EMAIL PROTECTED]> writes:
> > This problem seems to be cuased by the new code in
> > src/sbin/dump/traverse.c r1.10.2.2 to inherite the nodump flag.  I am
> > working to solve this problem.
> 
> Are you sure?  IIRC, earlier you said you tried backing this out but
> it didn't help.  Also, I can't reproduce this problem.  Does it happen
> every time?  On all filesystems?  On all (most?) hosts?  How big are
> the filesystems?  Anything else you could tell me to help me reproduce
> this?  I'll gladly help in fixing it if I can recreate it.
> 

I did, but I made a mistake with the dates or ran the wrong version or
what ever.

It ie very easy to reproduce.  I as assuming that /usr is /dev/ad0s1f
and that ports is on that file system for the following instructions. 
For all of these example abort the dump when Phase II finishes with the
"DUMP: estimate ..... blocks.." message appears.

dump 0sf 1048576 /dev/null /dev/ad0s1f 
  -- this takes 9 seconds to finish Phase II for all versions.

dump 0hsf 0 1048576 /dev/null /dev/ad0s1f
  -- this takes 9 seconds to finish Phase II for all versions.

chflags nodump /usr/ports ; dump 0sf 1048576 /dev/null /dev/ad0s1f 
  -- this takes 9 seconds to finish Phase II for all versions.

chflags nodump /usr/ports ; dump 0hsf 0 1048576 /dev/null /dev/ad0s1f 
  -- this takes 9 seconds to finish Phase II for version 1.10.2.1 of
src/sbin/dump/traverse.c

chflags nodump /usr/ports ; dump 0hsf 0 1048576 /dev/null /dev/ad0s1f 
  -- this takes 38 minutes to finish Phase II for version 1.10.2.1 of
src/sbin/dump/traverse.c

A I believe that it is because it repeats once for each file in the
subtree:

        msg("mapping (Pass II) [directories]\n");
        while (anydirskipped) {
                anydirskipped = mapdirs(maxino, &tapesize);
        }


I have not yet tested:
chflags -R nodump /usr/ports ; dump 0hsf 0 1048576 /dev/null /dev/ad0s1f 
To see if it is quicker.  I think the problem may actually be in
mapfiles() and not mapdirs().  The above test will tell me, I am also
going to add a counter in the above loop to verify this theory.  However
I am in the middle of a build world back towards a more recent version. 
But after dinner I should be able to test this.  I welcome independent
testing.

Jim

--
/"\   ASCII Ribbon Campaign  .
\ / - NO HTML/RTF in e-mail  .
 X  - NO Word docs in e-mail .
/ \ -----------------------------------------------------------------
[EMAIL PROTECTED]      http://www.FreeBSD.org     The Power to Serve
[EMAIL PROTECTED]  http://www.TheHousleys.net
---------------------------------------------------------------------
Progress (n) : What led from smart users in front of dumb terminals to
dumb users in front of smart terminals.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message

Reply via email to