xref: /original-bsd/share/man/man5/dump.5 (revision c3e32dec)
Copyright (c) 1980, 1993
The Regents of the University of California. All rights reserved.

%sccs.include.proprietary.roff%

@(#)dump.5 8.1 (Berkeley) 06/05/93

DUMP 5 ""
C 4
NAME
dump, dumpdates - incremental dump format
SYNOPSIS
#include <sys/types.h>

#include <sys/inode.h>

#include <protocols/dumprestore.h>

DESCRIPTION
Tapes used by dump and restore (8) contain:
""
a header record two groups of bit map records a group of records describing directories a group of records describing files

The format of the header record and of the first record of each description as given in the include file <protocols/dumprestore.h> is:

#define NTREC 10
#define MLEN 16
#define MSIZ 4096

#define TS_TAPE 1
#define TS_INODE 2
#define TS_BITS 3
#define TS_ADDR 4
#define TS_END 5
#define TS_CLRI 6
#define MAGIC (int) 60011
#define CHECKSUM (int) 84446

struct spcl {
 int c_type;
 time_t c_date;
 time_t c_ddate;
 int c_volume;
 daddr_t c_tapea;
 ino_t c_inumber;
 int c_magic;
 int c_checksum;
 struct dinode c_dinode;
 int c_count;
 char c_addr[BSIZE];
} spcl;

struct idates {
 char id_name[16];
 char id_incno;
 time_t id_ddate;
};

#define DUMPOUTFMT "%-16s %c %s" /* for printf */
 /* name, incno, ctime(date) */
#define DUMPINFMT "%16s %c %[^\en]\en" /* inverse for scanf */

NTREC is the number of 1024 byte records in a physical tape block. MLEN is the number of bits in a bit map word. MSIZ is the number of bit map words.

The TS_ entries are used in the c_type field to indicate what sort of header this is. The types and their meanings are as follows:

13 TS_TAPE Tape volume label

0

TS_INODE A file or directory follows. The c_dinode field is a copy of the disk inode and contains bits telling what sort of file this is.

TS_BITS A bit map follows. This bit map has a one bit for each inode that was dumped.

TS_ADDR A subrecord of a file description. See c_addr below.

TS_END End of tape record.

TS_CLRI A bit map follows. This bit map contains a zero bit for all inodes that were empty on the file system when dumped.

MAGIC All header records have this number in c_magic.

CHECKSUM Header records checksum to this value.

The fields of the header structure are as follows:

13 c_type The type of the header.

0

c_date The date the dump was taken.

c_ddate The date the file system was dumped from.

c_volume The current volume number of the dump.

c_tapea The current number of this (1024-byte) record.

c_inumber The number of the inode being dumped if this is of type TS_INODE.

c_magic This contains the value MAGIC above, truncated as needed.

c_checksum This contains whatever value is needed to make the record sum to CHECKSUM.

c_dinode This is a copy of the inode as it appears on the file system; see fs (5).

c_count The count of characters in c_addr.

c_addr An array of characters describing the blocks of the dumped file. A character is zero if the block associated with that character was not present on the file system, otherwise the character is non-zero. If the block was not present on the file system, no block was dumped; the block will be restored as a hole in the file. If there is not sufficient space in this record to describe all of the blocks in a file, TS_ADDR records will be scattered through the file, each one picking up where the last left off.

Each volume except the last ends with a tapemark (read as an end of file). The last volume ends with a TS_END record and then the tapemark.

The structure idates describes an entry in the file /etc/dumpdates where dump history is kept. The fields of the structure are:

\w'TS_INODE 'u id_name The dumped filesystem is `/dev/ id_nam'.

0

id_incno The level number of the dump tape; see dump (8).

id_ddate The date of the incremental dump in system format see types (5).

FILES
/etc/dumpdates
"SEE ALSO"
dump(8), restore(8), fs(5), types(5)