-/*
- * Read a record from a block
- * if necessary, read the block from the device without locking
- * if necessary, handle getting a new Volume
- *
- * Returns: 0 on failure
- * 1 on success
- */
-int read_record(DEVICE *dev, DEV_BLOCK *block, DEV_RECORD *record)
-{
- Dmsg2(90, "read_record() dev=%x state=%x\n", dev, dev->state);
-
- while (!read_record_from_block(block, record)) {
- Dmsg2(90, "!read_record_from_block data_len=%d rem=%d\n", record->data_len,
- record->remainder);
- if (!read_block_from_dev(dev, block)) {
- Dmsg0(200, "===== Got read block I/O error ======\n");
- return 0;
- }
- }
- Dmsg4(90, "read_record FI=%s SessId=%d Strm=%s len=%d\n",
- FI_to_ascii(record->FileIndex), record->VolSessionId,
- stream_to_ascii(record->Stream), record->data_len);
- record->File = dev->file;
- record->Block = dev->block_num;
- return 1;
-}
-