void init_block_write(DEV_BLOCK *block);
void empty_block(DEV_BLOCK *block);
void free_block(DEV_BLOCK *block);
-int write_block_to_device(JCR *jcr, DEVICE *dev, DEV_BLOCK *block);
-int write_block_to_dev(JCR *jcr, DEVICE *dev, DEV_BLOCK *block);
+int write_block_to_device(DCR *dcr, DEV_BLOCK *block);
+int write_block_to_dev(DCR *dcr, DEV_BLOCK *block);
void print_block_read_errors(JCR *jcr, DEV_BLOCK *block);
+void ser_block_header(DEV_BLOCK *block);
#define CHECK_BLOCK_NUMBERS true
#define NO_BLOCK_NUMBER_CHECK false
int read_records(JCR *jcr, DEVICE *dev,
int record_cb(JCR *jcr, DEVICE *dev, DEV_BLOCK *block, DEV_RECORD *rec),
int mount_cb(JCR *jcr, DEVICE *dev, DEV_BLOCK *block));
+
+/* From spool.c */
+int begin_data_spool(JCR *jcr);
+int discard_data_spool(JCR *jcr);
+int commit_data_spool(JCR *jcr);
+bool are_attributes_spooled(JCR *jcr);
+int begin_attribute_spool(JCR *jcr);
+int discard_attribute_spool(JCR *jcr);
+int commit_attribute_spool(JCR *jcr);
+bool write_block_to_spool_file(DCR *dcr, DEV_BLOCK *block);