Author: mckusick
Date: Sat Apr  4 00:56:56 2020
New Revision: 359627
URL: https://svnweb.freebsd.org/changeset/base/359627

Log:
  Clean up global variable declarations in the dump and restore
  utilities so that they will compile with -fno-common.
  
  Started by:  Kyle Evans (kevans)
  Reviewed by: Kyle Evans (kevans)
  MFC after:   1 week
  Differential Revision: https://reviews.freebsd.org/D24210

Modified:
  head/include/protocols/dumprestore.h
  head/sbin/dump/dump.h
  head/sbin/dump/dumprmt.c
  head/sbin/dump/itime.c
  head/sbin/dump/main.c
  head/sbin/dump/pathnames.h
  head/sbin/dump/tape.c
  head/sbin/restore/restore.h
  head/sbin/restore/tape.c

Modified: head/include/protocols/dumprestore.h
==============================================================================
--- head/include/protocols/dumprestore.h        Sat Apr  4 00:31:30 2020        
(r359626)
+++ head/include/protocols/dumprestore.h        Sat Apr  4 00:56:56 2020        
(r359627)
@@ -76,7 +76,7 @@
  */
 typedef uint32_t dump_ino_t;
 
-union u_spcl {
+extern union u_spcl {
        char dummy[TP_BSIZE];
        struct  s_spcl {
                int32_t c_type;             /* record type (see below) */

Modified: head/sbin/dump/dump.h
==============================================================================
--- head/sbin/dump/dump.h       Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/dump/dump.h       Sat Apr  4 00:56:56 2020        (r359627)
@@ -36,10 +36,10 @@
 /*
  * Dump maps used to describe what is to be dumped.
  */
-int    mapsize;        /* size of the state maps */
-char   *usedinomap;    /* map of allocated inodes */
-char   *dumpdirmap;    /* map of directories to be dumped */
-char   *dumpinomap;    /* map of files to be dumped */
+extern int mapsize;            /* size of the state maps */
+extern char *usedinomap;       /* map of allocated inodes */
+extern char *dumpdirmap;       /* map of directories to be dumped */
+extern char *dumpinomap;       /* map of files to be dumped */
 /*
  * Map manipulation macros.
  */
@@ -56,40 +56,40 @@ char        *dumpinomap;    /* map of files to be dumped */
 /*
  *     All calculations done in 0.1" units!
  */
-char   *disk;          /* name of the disk file */
-char   *tape;          /* name of the tape file */
-char   *popenout;      /* popen(3) per-"tape" command */
-char   *dumpdates;     /* name of the file containing dump date information*/
-char   *temp;          /* name of the file for doing rewrite of dumpdates */
-int    lastlevel;      /* dump level of previous dump */
-int    level;          /* dump level of this dump */
-int    uflag;          /* update flag */
-int    diskfd;         /* disk file descriptor */
-int    tapefd;         /* tape file descriptor */
-int    pipeout;        /* true => output to standard output */
-ino_t  curino;         /* current inumber; used globally */
-int    newtape;        /* new tape flag */
-int    density;        /* density in 0.1" units */
-long   tapesize;       /* estimated tape size, blocks */
-long   tsize;          /* tape size in 0.1" units */
-long   asize;          /* number of 0.1" units written on current tape */
-int    etapes;         /* estimated number of tapes */
-int    nonodump;       /* if set, do not honor UF_NODUMP user flags */
-int    unlimited;      /* if set, write to end of medium */
-int    cachesize;      /* size of block cache in bytes */
-int    rsync_friendly; /* be friendly with rsync */
+extern char *disk;             /* name of the disk file */
+extern char *tape;             /* name of the tape file */
+extern char *popenout;         /* popen(3) per-"tape" command */
+extern char *dumpdates;        /* name of the file containing dump date info */
+extern int lastlevel;          /* dump level of previous dump */
+extern int level;              /* dump level of this dump */
+extern int uflag;              /* update flag */
+extern int diskfd;             /* disk file descriptor */
+extern int pipeout;            /* true => output to standard output */
+extern ino_t curino;           /* current inumber; used globally */
+extern int newtape;            /* new tape flag */
+extern int density;            /* density in 0.1" units */
+extern long tapesize;          /* estimated tape size, blocks */
+extern long tsize;             /* tape size in 0.1" units */
+extern int etapes;             /* estimated number of tapes */
+extern int nonodump;           /* if set, do not honor UF_NODUMP user flags */
+extern int unlimited;          /* if set, write to end of medium */
+extern int cachesize;          /* size of block cache in bytes */
+extern int rsync_friendly;     /* be friendly with rsync */
+extern int notify;             /* notify operator flag */
+extern int blockswritten;      /* number of blocks written on current tape */
+extern int tapeno;             /* current tape number */
+extern int ntrec;              /* blocking factor on tape */
+extern long blocksperfile;     /* number of blocks per output file */
+extern int cartridge;          /* assume non-cartridge tape */
+extern char *host;             /* remote host (if any) */
+extern time_t tstart_writing;  /* when started writing the first tape block */
+extern time_t tend_writing;    /* after writing the last tape block */
+extern int passno;             /* current dump pass number */
+extern struct fs *sblock;      /* the file system super block */
+extern long dev_bsize;         /* block size of underlying disk device */
+extern int dev_bshift;         /* log2(dev_bsize) */
+extern int tp_bshift;          /* log2(TP_BSIZE) */
 
-int    notify;         /* notify operator flag */
-int    blockswritten;  /* number of blocks written on current tape */
-int    tapeno;         /* current tape number */
-time_t tstart_writing; /* when started writing the first tape block */
-time_t tend_writing;   /* after writing the last tape block */
-int    passno;         /* current dump pass number */
-struct fs *sblock;     /* the file system super block */
-long   dev_bsize;      /* block size of underlying disk device */
-int    dev_bshift;     /* log2(dev_bsize) */
-int    tp_bshift;      /* log2(TP_BSIZE) */
-
 /* operator interface functions */
 void   broadcast(const char *message);
 void   infosch(int);
@@ -163,8 +163,8 @@ struct dumpdates {
        int     dd_level;
        time_t  dd_ddate;
 };
-int    nddates;                /* number of records (might be zero) */
-struct dumpdates **ddatev;     /* the arrayfied version */
+extern int nddates;                    /* number of records (might be zero) */
+extern struct dumpdates **ddatev;      /* the arrayfied version */
 void   initdumptimes(void);
 void   getdumptime(void);
 void   putdumptime(void);

Modified: head/sbin/dump/dumprmt.c
==============================================================================
--- head/sbin/dump/dumprmt.c    Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/dump/dumprmt.c    Sat Apr  4 00:56:56 2020        (r359627)
@@ -80,7 +80,6 @@ static        void rmtgets(char *, int);
 static int rmtreply(const char *);
 
 static int errfd = -1;
-extern int ntrec;              /* blocking factor on tape */
 
 int
 rmthost(const char *host)

Modified: head/sbin/dump/itime.c
==============================================================================
--- head/sbin/dump/itime.c      Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/dump/itime.c      Sat Apr  4 00:56:56 2020        (r359627)
@@ -60,8 +60,10 @@ struct dumptime {
        SLIST_ENTRY(dumptime) dt_list;
 };
 SLIST_HEAD(dthead, dumptime) dthead = SLIST_HEAD_INITIALIZER(dthead);
-struct dumpdates **ddatev = NULL;
-int    nddates = 0;
+int    nddates = 0;            /* number of records (might be zero) */
+struct dumpdates **ddatev;     /* the arrayfied version */
+char   *dumpdates;             /* name of the file containing dump date info */
+int    lastlevel;              /* dump level of previous dump */
 
 static void dumprecout(FILE *, const struct dumpdates *);
 static int getrecord(FILE *, struct dumpdates *);

Modified: head/sbin/dump/main.c
==============================================================================
--- head/sbin/dump/main.c       Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/dump/main.c       Sat Apr  4 00:56:56 2020        (r359627)
@@ -73,17 +73,40 @@ static const char rcsid[] =
 #include "dump.h"
 #include "pathnames.h"
 
+int    mapsize;        /* size of the state maps */
+char   *usedinomap;    /* map of allocated inodes */
+char   *dumpdirmap;    /* map of directories to be dumped */
+char   *dumpinomap;    /* map of files to be dumped */
+char   *disk;          /* name of the disk file */
+char   *tape;          /* name of the tape file */
+char   *popenout;      /* popen(3) per-"tape" command */
+int    level;          /* dump level of this dump */
+int    uflag;          /* update flag */
+int    diskfd;         /* disk file descriptor */
+int    pipeout;        /* true => output to standard output */
+int    density = 0;    /* density in bytes/0.1" " <- this is for hilit19 */
+long   tapesize;       /* estimated tape size, blocks */
+long   tsize;          /* tape size in 0.1" units */
+int    etapes;         /* estimated number of tapes */
+int    nonodump;       /* if set, do not honor UF_NODUMP user flags */
+int    unlimited;      /* if set, write to end of medium */
+int    cachesize = 0;  /* block cache size (in bytes), defaults to 0 */
+int    rsync_friendly; /* be friendly with rsync */
 int    notify = 0;     /* notify operator flag */
-int    snapdump = 0;   /* dumping live filesystem, so use snapshot */
-int    blockswritten = 0;      /* number of blocks written on current tape */
+int    blockswritten = 0; /* number of blocks written on current tape */
 int    tapeno = 0;     /* current tape number */
-int    density = 0;    /* density in bytes/0.1" " <- this is for hilit19 */
 int    ntrec = NTREC;  /* # tape blocks in each tape record */
+long   blocksperfile;  /* number of blocks per output file */
 int    cartridge = 0;  /* Assume non-cartridge tape */
-int    cachesize = 0;  /* block cache size (in bytes), defaults to 0 */
-long   dev_bsize = 1;  /* recalculated below */
-long   blocksperfile;  /* output blocks per file */
 char   *host = NULL;   /* remote host (if any) */
+time_t tstart_writing; /* when started writing the first tape block */
+time_t tend_writing;   /* after writing the last tape block */
+int    passno;         /* current dump pass number */
+struct fs *sblock;     /* the file system super block */
+long   dev_bsize = 1;  /* recalculated below */
+int    dev_bshift;     /* log2(dev_bsize) */
+int    tp_bshift;      /* log2(TP_BSIZE) */
+int    snapdump = 0;   /* dumping live filesystem, so use snapshot */
 
 static char *getmntpt(char *, int *);
 static long numarg(const char *, long, long);
@@ -111,7 +134,6 @@ main(int argc, char *argv[])
        dumpdates = _PATH_DUMPDATES;
        popenout = NULL;
        tape = NULL;
-       temp = _PATH_DTMP;
        if (TP_BSIZE / DEV_BSIZE == 0 || TP_BSIZE % DEV_BSIZE != 0)
                quit("TP_BSIZE must be a multiple of DEV_BSIZE\n");
        level = 0;

Modified: head/sbin/dump/pathnames.h
==============================================================================
--- head/sbin/dump/pathnames.h  Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/dump/pathnames.h  Sat Apr  4 00:56:56 2020        (r359627)
@@ -35,7 +35,6 @@
 #include <paths.h>
 
 #define        _PATH_DEFTAPE   "/dev/sa0"
-#define        _PATH_DTMP      "/etc/dtmp"
 #define        _PATH_DUMPDATES "/etc/dumpdates"
 #define        _PATH_LOCK      "/tmp/dumplockXXXXXX"
 #define        _PATH_RMT       "/etc/rmt"              /* path on remote host 
*/

Modified: head/sbin/dump/tape.c
==============================================================================
--- head/sbin/dump/tape.c       Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/dump/tape.c       Sat Apr  4 00:56:56 2020        (r359627)
@@ -61,17 +61,19 @@ static const char rcsid[] =
 
 #include "dump.h"
 
-int    writesize;              /* size of malloc()ed buffer for tape */
-int64_t        lastspclrec = -1;       /* tape block number of last written 
header */
-int    trecno = 0;             /* next record to write in current block */
-extern long blocksperfile;     /* number of blocks per output file */
-long   blocksthisvol;          /* number of blocks on current output file */
-extern int ntrec;              /* blocking factor on tape */
-extern int cartridge;
-extern char *host;
-char   *nexttape;
-FILE   *popenfp = NULL;
+ino_t  curino;                 /* current inumber; used globally */
+int    newtape;                /* new tape flag */
+union  u_spcl u_spcl;          /* mapping of variables in a control block */
 
+static int tapefd;             /* tape file descriptor */
+static long asize;             /* number of 0.1" units written on cur tape */
+static int writesize;          /* size of malloc()ed buffer for tape */
+static int64_t lastspclrec = -1; /* tape block number of last written header */
+static int trecno = 0;         /* next record to write in current block */
+static long blocksthisvol;     /* number of blocks on current output file */
+static char *nexttape;
+static FILE *popenfp = NULL;
+
 static int atomic(ssize_t (*)(), int, char *, int);
 static void doslave(int, int);
 static void enslave(void);
@@ -91,10 +93,10 @@ struct req {
        ufs2_daddr_t dblk;
        int count;
 };
-int reqsiz;
+static int reqsiz;
 
 #define SLAVES 3               /* 1 slave writing, 1 reading, 1 for slack */
-struct slave {
+static struct slave {
        int64_t tapea;          /* header number at start of this chunk */
        int64_t firstrec;       /* record number of this block */
        int count;              /* count to next header (used for TS_TAPE */
@@ -106,12 +108,12 @@ struct slave {
        char (*tblock)[TP_BSIZE]; /* buffer for data blocks */
        struct req *req;        /* buffer for requests */
 } slaves[SLAVES+1];
-struct slave *slp;
+static struct slave *slp;
 
-char   (*nextblock)[TP_BSIZE];
+static char    (*nextblock)[TP_BSIZE];
 
-int master;            /* pid of master, for sending error signals */
-int tenths;            /* length of tape used per block written */
+static int master;     /* pid of master, for sending error signals */
+static int tenths;     /* length of tape used per block written */
 static volatile sig_atomic_t caught; /* have we caught the signal to proceed? 
*/
 static volatile sig_atomic_t ready; /* reached the lock point without having */
                        /* received the SIGUSR2 signal from the prev slave? */

Modified: head/sbin/restore/restore.h
==============================================================================
--- head/sbin/restore/restore.h Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/restore/restore.h Sat Apr  4 00:56:56 2020        (r359627)
@@ -103,7 +103,7 @@ struct entry {
 /*
  * The entry describes the next file available on the tape
  */
-struct context {
+extern struct context {
        short   action;         /* action being taken on this file */
        mode_t  mode;           /* mode of file */
        ino_t   ino;            /* inumber of file */

Modified: head/sbin/restore/tape.c
==============================================================================
--- head/sbin/restore/tape.c    Sat Apr  4 00:31:30 2020        (r359626)
+++ head/sbin/restore/tape.c    Sat Apr  4 00:56:56 2020        (r359627)
@@ -94,6 +94,8 @@ static char   *map;
 static char    lnkbuf[MAXPATHLEN + 1];
 static int     pathlen;
 
+struct context curfile;        /* describes next file available on the tape */
+union u_spcl   u_spcl;         /* mapping of variables in a control block */
 int            Bcvt;           /* Swap Bytes */
 int            oldinofmt;      /* FreeBSD 1 inode format needs cvt */
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to