dumpdates
File Formats ufsdump(4)NAME
ufsdump, dumpdates - incremental dump formatSYNOPSIS
#include <sys/types.h> #include <sys/inode.h> #include <protocols/dumprestore.h> /etc/dumpdatesDESCRIPTION
Tapes used by ufsdump(1M) and ufsrestore(1M) 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 TP_BSIZE 1024 #define NTREC 10 #define HIGHDENSITYTREC 32 #define CARTRIDGETREC 63 #define TP_NINDIR (TP_BSIZE/2) #define TP_NINOS (TP_NINDIR / sizeop (long)) #define LBLSIZE 16 #define NAMELEN 64 #define NFS_MAGIC (int)60012 #define CHECKSUM (int)84446 union u_data { char s_addrs[TP_NINDIR]; long s_inos[TP_NINOS]; union u_spcl { char dummy[TP_BSIZE]; struct s_spcl { long c_type; time_t c_date; time_t c_ddate; long c_volume; daddr_t c_tapea; SunOS 5.8 Last change: 7 Jan 1994 1 File Formats ufsdump(4) ino_t c_inumber; long c_magic; long c_checksum; struct dinode c_dinode; long c_count; union u_data c_data; char c_label[LBLSIZE]; long c_level; char c_filesys[NAMELEN]; char c_dev[NAMELEN]; char c_host[NAMELEN]; long c_flags; long c_firstrec; long c_spare[32]; } s_spcl; } u_spcl; long c_type; time_t c_date; time_t c_ddate; long c_volume; daddr_t c_tapea; ino_t c_inumber; long c_magic; long c_checksum; struct dinode c_dinode; long c_count; union u_data c_data; char c_label[LBLSIZE]; long c_level; char c_filesys[NAMELEN]; char c_dev[NAMELEN]; char c_host[NAMELEN]; long c_flags; long c_firstrec; long c_spare[32]; } s_spcl; } u_spcl; #define spcl u_spcl.s_spcl #define c_addr c_data.s_addrs #define c_inos cdata.s_inos #define TS_TAPE 1 #define TS_INODE 2 #define TS_ADDR 4 #define TS_BITS 3 #define TS_CLRI 6 #define TS_END 5 #define TS_EOM 7 SunOS 5.8 Last change: 7 Jan 1994 2 File Formats ufsdump(4) #define DR_NEWHEADER 1 #define DR_INODEINFO 2 #define DR_REDUMP 4 #define DR_TRUELIC 8 #define DUMPOUTFMT "%-24s %c %s" #define DUMPINFMT "%24s %c %[^\n]\n" The constants are described as follows: TP_BSIZE Size of file blocks on the dump tapes. Note that TP_BSIZE must be a multiple of DEV_BSIZE. NTREC Default number of TP_BSIZE byte records in a physical tape block, changeable by the b option to ufsdump(1M). HIGHDENSITYNTREC Default number of TP_BSIZE byte records in a physical tape block on 6250 BPI or higher density tapes. CARTRIDGETREC Default number of TP_BSIZE records in a physical tape block on cartridge tapes. TP_NINDIR Number of indirect pointers in a TS_INODE or TS_ADDR record. It must be a power of 2. TP_NINOS The maximum number of volumes on a tape. Used for tape labeling in hsmdump and hsmrestore (available with Online:Backup 2.0 optional software package SUNWhsm). LBLSIZE The maximum size of a volume label. Used for tape labeling in hsmdump and hsmrestore (available with Online:Backup 2.0 optional software package SUNWhsm). NAMELEN The maximum size of a host's name. NFS_MAGIC All header records have this number in c_magic. CHECKSUM Header records checksum to this value. 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: SunOS 5.8 Last change: 7 Jan 1994 3 File Formats ufsdump(4) TS_TAPE Tape volume label. 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_ADDR A subrecord of a file description. See s_addrs below. TS_BITS A bit map follows. This bit map has a one bit for each inode that was dumped. 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. TS_END End of tape record. TS_EOM floppy EOM - restore compat with old dump The flags are described as follows: DR_NEWHEADER New format tape header. DR_INFODEINFO Header contains starting inode info. DR_REDUMP Dump contains recopies of active files. DR_TRUEINC Dump is a "true incremental". DUMPOUTFMT Name, incon, and ctime (date) for printf. DUMPINFMT Inverse for scanf. The fields of the header structure are as follows: s_addrs An array of bytes describing the blocks of the dumped file. A byte is zero if the block associated with that byte was not present on the file system; SunOS 5.8 Last change: 7 Jan 1994 4 File Formats ufsdump(4) otherwise, the byte is non-zero. If the block was not present on the file lsystem, no block was dumped; the block will be stored as a hole in the file. If there is not sufficient space in this record to describe all the blocks in a file, TS_ADDR records will be scattered through the file, each one picking up where the last left off s_inos The starting inodes on tape. c_type The type of the record. c_date The date of the previous dump. c_ddate The date of this dump. c_volume The current volume number of the dump. c_tapea The logical block of this 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. c_count The count of bytes in s_addrs. u_data c_data The union of either u_data c_data The union of either s_addrs or s_inos. c_label Label for this dump. SunOS 5.8 Last change: 7 Jan 1994 5 File Formats ufsdump(4) c_level Level of this dump. c_filesys Name of dumped file system. c_dev Name of dumped service. c_host Name of dumped host. c_flags Additional information. c_firstrec First record on volume. c_spare Reserved for future uses. 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 dump history is kept in the file /etc/dumpdates. It is an ASCII file with three fields separated by white space: + The name of the device on which the dumped file system resides. + The level number of the dump tape; see ufsdump(1M). + The date of the incremental dump in the format gen- erated by ctime(3C). DUMPOUTFMT is the format to use when using printf(3C) to write an entry to /etc/dumpdates; DUMPINFMT is the format to use when using scanf(3C) to read an entry from /etc/dumpdates.ATTRIBUTES
See attributes(5) for a description of the following attri- butes: ____________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |_____________________________|_____________________________| | Stability Level | Unstable | |_____________________________|_____________________________| SunOS 5.8 Last change: 7 Jan 1994 6 File Formats ufsdump(4)SEE ALSO
ufsdump(1M), ufsrestore(1M), ctime(3C), printf(3C), scanf(3C), attributes(5), types(3HEAD) SunOS 5.8 Last change: 7 Jan 1994 7