]> git.wh0rd.org - dump.git/blobdiff - dump/tape.c
QFA fix (do not output directories in QFA file).
[dump.git] / dump / tape.c
index 66fc821cdaaab154898d8eb21f64233b47e935a9..125b15884074869ed1d7b4b4adcf0c58bfcf18f0 100644 (file)
@@ -41,7 +41,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: tape.c,v 1.61 2002/01/25 14:59:53 stelian Exp $";
+       "$Id: tape.c,v 1.63 2002/02/21 09:25:31 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -593,8 +593,8 @@ close_rewind(void)
 void
 rollforward(void)
 {
-       register struct req *p, *q = NULL, *prev;
-       register struct slave *tslp;
+       struct req *p, *q = NULL, *prev;
+       struct slave *tslp;
        int i, size, savedtapea, got;
        union u_spcl *ntb, *otb;
        struct slave_results returned;
@@ -966,7 +966,7 @@ enslave(void)
 #ifdef LINUX_FORK_BUG
        int i, j;
 #else
-       register int i, j;
+       int i, j;
 #endif
 
        master = getpid();
@@ -1042,7 +1042,7 @@ enslave(void)
 void
 killall(void)
 {
-       register int i;
+       int i;
 
        for (i = 0; i < SLAVES; i++)
                if (slaves[i].pid > 0) {
@@ -1061,7 +1061,7 @@ killall(void)
 static void
 doslave(int cmd, int slave_number, int first)
 {
-       register int nread;
+       int nread;
        int nextslave, size, eot_count, bufsize;
        volatile int wrote = 0;
        char *buffer;
@@ -1130,7 +1130,7 @@ doslave(int cmd, int slave_number, int first)
         * Get list of blocks to dump, read the blocks into tape buffer
         */
        while ((nread = atomic_read( cmd, (char *)slp->req, reqsiz)) == reqsiz) {
-               register struct req *p = slp->req;
+               struct req *p = slp->req;
 
                for (trecno = 0; trecno < ntrec;
                     trecno += p->count, p += p->count) {
@@ -1239,6 +1239,7 @@ doslave(int cmd, int slave_number, int first)
                                spclptr = &uspclptr->s_spcl;
                                if ((spclptr->c_magic == NFS_MAGIC) && 
                                    (spclptr->c_type == TS_INODE) &&
+                                   ((spclptr->c_dinode.di_mode & S_IFMT) != IFDIR) &&
                                    (spclptr->c_date == gThisDumpDate)) {
                                        /* if an error occured previously don't
                                         * try again */