]>
git.wh0rd.org - dump.git/blob - common/slave.h
3 * Structures pulled from dump/tape.c. We need it here so the 'archive' code can
4 * determine where we are in the tape.
10 * Concurrent dump mods (Caltech) - disk block reading and tape writing
11 * are exported to several slave processes. While one slave writes the
12 * tape, the others read disk blocks; they pass control of the tape in
13 * a ring via signals. The parent process traverses the filesystem and
14 * sends writeheader()'s and lists of daddr's to the slaves via pipes.
15 * The following structure defines the instruction packets sent to slaves.
22 #define SLAVES 3 /* 1 slave writing, 1 reading, 1 for slack */
25 int tapea
; /* header number at start of this chunk */
26 int count
; /* count to next header (used for TS_TAPE */
28 int inode
; /* inode that we are currently dealing with */
29 int fd
; /* FD for this slave */
30 int pid
; /* PID for this slave */
31 int sent
; /* 1 == we've sent this slave requests */
32 int firstrec
; /* record number of this block */
33 char (*tblock
)[TP_BSIZE
]; /* buffer for data blocks */
34 struct req
*req
; /* buffer for requests */
37 extern struct slave
*slp
;