X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Flabel.c;h=38388ab12c8ac8d72df3a9d859c4e34a57360266;hb=4b098ad305642ea18e0de0ab7538d9cdefded9e0;hp=a4ce64e64168fe574def1982a743f2171288cea7;hpb=438c05ebd013ec0023049936d8fb9e884addacaa;p=bacula%2Fbacula diff --git a/bacula/src/stored/label.c b/bacula/src/stored/label.c index a4ce64e641..38388ab12c 100644 --- a/bacula/src/stored/label.c +++ b/bacula/src/stored/label.c @@ -380,7 +380,7 @@ bool write_new_volume_label_to_dev(JCR *jcr, DEVICE *dev, const char *VolName, c { DEV_RECORD rec; DEV_BLOCK *block; - bool stat = true; + bool ok = false; Dmsg0(99, "write_volume_label()\n"); @@ -403,31 +403,31 @@ bool write_new_volume_label_to_dev(JCR *jcr, DEVICE *dev, const char *VolName, c if (!write_record_to_block(block, &rec)) { Dmsg2(30, "Bad Label write on %s. ERR=%s\n", dev_name(dev), strerror_dev(dev)); memset(&dev->VolHdr, 0, sizeof(dev->VolHdr)); - free_block(block); - free_pool_memory(rec.data); - return false; + goto bail_out; } else { Dmsg2(30, "Wrote label of %d bytes to %s\n", rec.data_len, dev_name(dev)); } - free_pool_memory(rec.data); Dmsg0(99, "Call write_block_to_dev()\n"); if (!write_block_to_dev(jcr->dcr, block)) { memset(&dev->VolHdr, 0, sizeof(dev->VolHdr)); Dmsg2(30, "Bad Label write on %s. ERR=%s\n", dev_name(dev), strerror_dev(dev)); - stat = false; + goto bail_out; } Dmsg0(99, " Wrote block to device\n"); - flush_dev(dev); weof_dev(dev, 1); dev->state |= ST_LABEL; + ok = true; if (debug_level >= 20) { dump_volume_label(dev); } + +bail_out: free_block(block); - return stat; + free_pool_memory(rec.data); + return ok; }