]> git.wh0rd.org - dump.git/commitdiff
Fixed -F to be run even if -M/-f is in use.
authorStelian Pop <stelian@popies.net>
Mon, 8 Mar 2004 14:04:02 +0000 (14:04 +0000)
committerStelian Pop <stelian@popies.net>
Mon, 8 Mar 2004 14:04:02 +0000 (14:04 +0000)
CHANGES
dump/tape.c
dump/traverse.c

diff --git a/CHANGES b/CHANGES
index fa664c4f53c15d06fcfc8e6cd932ef4d41fa8a69..86910e4970a9e1c8c7925e06e9313c108bb8d06d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,4 @@
-$Id: CHANGES,v 1.242 2004/03/01 15:38:10 stelian Exp $
+$Id: CHANGES,v 1.243 2004/03/08 14:04:02 stelian Exp $
 
 Changes between versions 0.4b35 and 0.4b36 (released ?????????????????)
 =======================================================================
@@ -29,6 +29,11 @@ Changes between versions 0.4b35 and 0.4b36 (released ?????????????????)
 
 7.     Another try at making size estimates better again.
 
+8.     Put back the inconditional running of the end-of-tape
+       script which was changed in 0.434 to be run only when -M
+       or multiple -f were NOT specified. Some users rely on this
+       feature even when it is combined with -M/-f.
+
 Changes between versions 0.4b34 and 0.4b35 (released December 21, 2003)
 =======================================================================
 
index b44f9e04309405f96f0724111d49774eb23f84d5..54f11786ecc9be06c13d86a30e4d8119e4e7f947 100644 (file)
@@ -37,7 +37,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: tape.c,v 1.81 2004/03/01 10:52:53 stelian Exp $";
+       "$Id: tape.c,v 1.82 2004/03/08 14:04:04 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -573,8 +573,6 @@ close_rewind(void)
 {
        int eot_code = 1;
        (void)trewind();
-       if (nexttape || Mflag)
-               return;
        if (eot_script) {
                msg("Launching %s\n", eot_script);
                eot_code = system_command(eot_script, tape, tapeno);
@@ -585,6 +583,8 @@ close_rewind(void)
        }
        if (eot_code == 0)
                return;
+       if (nexttape || Mflag)
+               return;
        if (!nogripe) {
                msg("Change Volumes: Mount volume #%d\n", tapeno+1);
                broadcast("CHANGE DUMP VOLUMES!\7\7\n");
index fb868dba4050aec08cc81ae8a961cc5eb6045f19..051a226bf59b8d5fe8ee4651889586ecff645e87 100644 (file)
@@ -37,7 +37,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: traverse.c,v 1.57 2004/03/01 15:38:13 stelian Exp $";
+       "$Id: traverse.c,v 1.58 2004/03/08 14:04:04 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -208,6 +208,14 @@ blockest(struct dinode const *dp)
        if (blkest > sizeest)
                blkest = sizeest;
 #ifdef __linux__
+       if ((dp->di_mode & IFMT) == IFDIR) {
+               /*
+                * for directories, assume only half of space is filled
+                * with entries.  
+                */
+                blkest = blkest / 2;
+                sizeest = sizeest / 2;
+       }
        if (i_size > (u_quad_t)fs->blocksize * NDADDR) {
                /* calculate the number of indirect blocks on the dump tape */
                blkest +=