- int len;
- MEDIA_DBR mmr;
-
- memset(&mmr, 0, sizeof(mmr));
- strcpy(mmr.VolumeName, mr->VolumeName);
- if (db_get_media_record(mdb, &mmr)) {
- Mmsg1(&mdb->errmsg, "Media record %s already exists\n", mmr.VolumeName);
- return 0;
- }
-
- P(mdb->mutex);
-
- mdb->control.MediaId++;
- mr->MediaId = mdb->control.MediaId;
- bdb_write_control_file(mdb);
-
- len = sizeof(mmr);
- fseek(mdb->mediafd, 0L, SEEK_END);
- if (fwrite(mr, len, 1, mdb->mediafd) != 1) {
- Mmsg1(&mdb->errmsg, "Error writing DB Media file. ERR=%s\n", strerror(errno));
- V(mdb->mutex);
- return 0;
- }
- fflush(mdb->mediafd);
- V(mdb->mutex);
- return 1;