svn commit: r359627 - in head: include/protocols sbin/dump sbin/restore

Kirk McKusick mckusick at FreeBSD.org
Sat Apr 4 00:57:10 UTC 2020


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 */
 


More information about the svn-src-head mailing list