Lines Matching full:foo*
30 Files (log name "foo"):
31 foo.gz -- gzip file with the complete log
32 foo.add -- last message to append or last data to compress
33 foo.dict -- dictionary of the last 32K of data for next compression
34 foo.temp -- temporary dictionary file for compression after this one
35 foo.lock -- lock file for reading and writing the other files
36 foo.repairs -- log file for log file recovery operations (not compressed)
47 foo.add file are sufficient to recover an interrupted append operation. The
49 stored block and determine where to append the data in the foo.add file, as
52 The foo.add file is created before the gzip file is marked for append, and
55 some external force, the foo.add file gets deleted between when the append
60 foo.add file are sufficient to recover an interrupted compress operation.
63 data and of the complete set of data including the contents of the foo.add
66 Again, the foo.add file is maintained during the compress operation in case
67 of an interruption. If in the unlikely event the foo.add file with the data
83 gain exclusive access to the log files, first a foo.lock file must be
85 released by deleting the foo.lock file. If when attempting to create the
125 only in the event that the foo.add file containing the data to compress is
145 interrupted and the data to compress in the foo.add file was deleted.
153 - Exclusively create the foo.lock file using the O_CREAT and O_EXCL modes of
157 - Load the extra field from the foo.gz file, and see if an operation was in
160 - If the uncompressed data in the foo.gz file is 1MB or more, apply the
162 - Delete the foo.lock file.
165 - Put what to append in the foo.add file so that the operation can be
167 - Mark the foo.gz extra field with the append operation in progress.
177 Though there is still a foo.add file, it will be ignored since nothing
178 is in process. If a foo.add file is leftover from a previously
180 - Delete the foo.add file.
183 - Read all of the uncompressed data in the stored blocks in foo.gz and write
184 it to foo.add. Also write foo.temp with the last 32K of that data to
186 - Rewrite the extra field marking foo.gz with a compression in process.
187 * If there is no data provided to compress (due to a missing foo.add file
188 when recovering), reconstruct and truncate the foo.gz file to contain
191 - Compress the data with the dictionary in foo.dict, and write to the
192 foo.gz file starting at the bit immediately following the last previously
193 compressed block. If there is no foo.dict, proceed anyway with the
194 compression at slightly reduced efficiency. (For the foo.dict file to be
196 a compress operation.) During this process, the foo.lock file is
204 back, crc's, and lengths, and mark foo.gz as in process for a replacement
206 @ Delete the foo.add file.
207 - Replace foo.dict with foo.temp.
208 - Write over the extra field, marking foo.gz as complete.
211 - If not a replace recovery, read in the foo.add file, and provide that data
212 to the appropriate recovery below. If there is no foo.add file, provide
214 restores the foo.gz to the previous compressed + uncompressed data state.
215 For the compress recovery, a missing foo.add file results in foo.gz being
223 - Log the repair with a date stamp in foo.repairs
292 char *path; /* allocated path, e.g. "/var/log/foo" or "foo" */
339 /* Exclusively create foo.lock in order to negotiate exclusive access to the
340 foo.* files. If the modify time of an existing lock file is greater than
436 point in the process. Return -1 if the write to foo.gz failed. */
461 there is a read or write failure on the foo.gz file */
498 of the foo.gz file is restored. The data is appended uncompressed in
500 the foo.gz file. */
549 be recovering from partial append with a missing foo.add file) */
564 /* Replace the foo.dict file with the foo.temp file. Also delete the foo.add
567 writing foo.gz fails, or if the rename fails for some reason other than
568 foo.temp not existing. foo.temp not existing is a permitted error, since
570 but before foo.gz is marked as complete. */
576 /* delete foo.add file */
581 /* rename foo.name to foo.dict, replacing foo.dict if it exists */
594 /* mark the foo.gz file as done */
599 foo.gz deflate data immediately after the previous compressed data. This
600 overwrites the previous uncompressed data, which was stored in foo.add
602 interrupted, it picks up at the start of this routine, with the foo.add
604 simply terminate the foo.gz file after the previously compressed data,
734 /* Recover the interrupted operation op. First read foo.add for recovering an
736 writing foo.gz or reading an existing foo.add, or -2 if there was a memory
748 /* load foo.add file if expected and present */
797 /* Close the foo.gz file (if open) and release the lock. */
806 /* Open foo.gz, verify the header, and load the extra field contents, after
807 first creating the foo.lock file to gain exclusive access to the foo.*
808 files. If foo.gz does not exist or is empty, then write the initial header,
809 extra, and body content of an empty foo.gz log file. If there is an error
811 writing the foo.gz file, or if the foo.gz file is not a proper log file for
829 /* open the log file, foo.gz */
837 /* if new, initialize foo.gz with an empty log, delete old dictionary */