Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Apr 2001 11:20:25 -0700
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        James Housley <jim@thehousleys.net>
Cc:        Mike Harding <mvh@ix.netcom.com>, freebsd-stable@FreeBSD.ORG
Subject:   Re: Amanda dumps failing - glob change?
Message-ID:  <20010417112025.A27928@Odin.AC.HMC.Edu>
In-Reply-To: <3ADC2823.1BDE5D7B@thehousleys.net>; from jim@thehousleys.net on Tue, Apr 17, 2001 at 07:25:23AM -0400
References:  <20010413041902.E9F0B113EDC@netcom1.netcom.com> <3ADC2823.1BDE5D7B@thehousleys.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--Dxnq1zWXvFF0Q93v
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 17, 2001 at 07:25:23AM -0400, James Housley wrote:
> This is most likely caused by the nodump flag changes in
> src/sbin/dump/traverse.c v 1.10.2.2 (STABLE).  If you have an older
> drive (slower) and are using the nodump flag to prevent backup of files
> or directories your analysis is probably taking too long and timing
> out.  On my machines I have had to keep traverse.c at version 1.10.2.1

A patch was recently posted that corrected a number of bugs in the
nodump changes.  It appears to have made amanda work again for me.
Since I can't seem to fine the origional, I've appended one generated by
cvs from what's in my tree.

-- Brooks

--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

Index: traverse.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/sbin/dump/traverse.c,v
retrieving revision 1.12
diff -u -r1.12 traverse.c
--- traverse.c	2001/03/03 11:35:50	1.12
+++ traverse.c	2001/04/10 16:49:10
@@ -155,13 +155,15 @@
 		if ((mode =3D (dp->di_mode & IFMT)) =3D=3D 0)
 			continue;
 		/*
-		 * All dirs go in dumpdirmap; only inodes that are to
-		 * be dumped go in usedinomap and dumpinomap, however.
+		 * Everything must go in usedinomap so that a check
+		 * for "in dumpdirmap but not in usedinomap" to detect
+		 * dirs with nodump set has a chance of succeeding
+		 * (this is used in mapdirs()).
 		 */
+		SETINO(ino, usedinomap);
 		if (mode =3D=3D IFDIR)
 			SETINO(ino, dumpdirmap);
 		if (WANTTODUMP(dp)) {
-			SETINO(ino, usedinomap);
 			SETINO(ino, dumpinomap);
 			if (mode !=3D IFREG && mode !=3D IFDIR && mode !=3D IFLNK)
 				*tapesize +=3D 1;
@@ -169,8 +171,11 @@
 				*tapesize +=3D blockest(dp);
 			continue;
 		}
-		if (mode =3D=3D IFDIR)
+		if (mode =3D=3D IFDIR) {
+			if (!nonodump && (dp->di_flags & UF_NODUMP))
+				CLRINO(ino, usedinomap);
 			anydirskipped =3D 1;
+		}
 	}
 	/*
 	 * Restore gets very upset if the root is not dumped,
@@ -218,7 +223,7 @@
 		 * it isn't in usedinomap, we have to go through it to
 		 * propagate the nodump flag.
 		 */
-		nodump =3D (TSTINO(ino, usedinomap) =3D=3D 0);
+		nodump =3D !nonodump && (TSTINO(ino, usedinomap) =3D=3D 0);
 		if ((isdir & 1) =3D=3D 0 || (TSTINO(ino, dumpinomap) && !nodump))
 			continue;
 		dp =3D getino(ino);

--Dxnq1zWXvFF0Q93v
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE63IloXY6L6fI4GtQRAlLzAKDcFX/P1ZPC89RpPxw8FFbjIB/obQCgvwrz
3SkKURonnA7n7yp/wN4HyO4=
=/ph8
-----END PGP SIGNATURE-----

--Dxnq1zWXvFF0Q93v--

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




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