* most current start fields to the job record.
* It is assumed that you did a db_create_job_record() already.
*/
-int db_update_job_start_record(void *jcr, B_DB *mdb, JOB_DBR *jr)
+bool db_update_job_start_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr)
{
int len, stat = 1;
JOB_DBR ojr;
+ db_lock(mdb);
+
Dmsg0(200, "In db_update_job_start_record\n");
len = sizeof(ojr);
memcpy(&ojr, jr, len);
if (!db_get_job_record(jcr, mdb, &ojr)) {
+ db_unlock(mdb);
return 0;
}
- db_lock(mdb);
fseek(mdb->jobfd, ojr.rec_addr, SEEK_SET);
if (fwrite(jr, len, 1, mdb->jobfd) != 1) {
- Mmsg1(&mdb->errmsg, _("Error updating DB Job file. ERR=%s\n"), strerror(errno));
+ Mmsg1(mdb->errmsg, _("Error updating DB Job file. ERR=%s\n"), strerror(errno));
stat = 0;
}
fflush(mdb->jobfd);
* This is called at Job termination time to add all the
* other fields to the job record.
*/
-int db_update_job_end_record(void *jcr, B_DB *mdb, JOB_DBR *jr)
+int db_update_job_end_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr)
{
int len, stat = 1;
JOB_DBR ojr;
+ db_lock(mdb);
+
Dmsg0(200, "In db_update_job_start_record\n");
len = sizeof(ojr);
memcpy(&ojr, jr, len);
if (!db_get_job_record(jcr, mdb, &ojr)) {
+ db_unlock(mdb);
return 0;
}
- db_lock(mdb);
-
fseek(mdb->jobfd, ojr.rec_addr, SEEK_SET);
if (fwrite(jr, len, 1, mdb->jobfd) != 1) {
- Mmsg1(&mdb->errmsg, _("Error updating DB Job file. ERR=%s\n"), strerror(errno));
+ Mmsg1(&db->errmsg, _("Error updating DB Job file. ERR=%s\n"), strerror(errno));
stat = 0;
}
fflush(mdb->jobfd);
}
-int db_update_media_record(void *jcr, B_DB *mdb, MEDIA_DBR *mr)
+int db_update_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr)
{
int stat = 1;
MEDIA_DBR omr;
int len;
+ db_lock(mdb);
Dmsg0(200, "In db_update_media_record\n");
mr->MediaId = 0;
len = sizeof(omr);
memcpy(&omr, mr, len);
if (!db_get_media_record(jcr, mdb, &omr)) {
+ db_unlock(mdb);
return 0;
}
- db_lock(mdb);
/* Don't allow some fields to change by copying from master record */
strcpy(mr->VolumeName, omr.VolumeName);
fseek(mdb->mediafd, omr.rec_addr, SEEK_SET);
if (fwrite(mr, len, 1, mdb->mediafd) != 1) {
- Mmsg1(&mdb->errmsg, _("Error updating DB Media file. ERR=%s\n"), strerror(errno));
+ Mmsg1(mdb->errmsg, _("Error updating DB Media file. ERR=%s\n"), strerror(errno));
stat = 0;
}
fflush(mdb->mediafd);
return stat;
}
-int db_update_pool_record(void *jcr, B_DB *mdb, POOL_DBR *pr)
+int db_update_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pr)
{
int stat = 1;
POOL_DBR opr;
int len;
+ db_lock(mdb);
Dmsg0(200, "In db_update_pool_record\n");
len = sizeof(opr);
memcpy(&opr, pr, len);
if (!db_get_pool_record(jcr, mdb, &opr)) {
+ db_unlock(mdb);
return 0;
}
- db_lock(mdb);
/* Update specific fields */
opr.NumVols = pr->NumVols;
fseek(mdb->poolfd, opr.rec_addr, SEEK_SET);
if (fwrite(&opr, len, 1, mdb->poolfd) != 1) {
- Mmsg1(&mdb->errmsg, _("Error updating DB Media file. ERR=%s\n"), strerror(errno));
+ Mmsg1(mdb->errmsg, _("Error updating DB Media file. ERR=%s\n"), strerror(errno));
stat = 0;
} else {
memcpy(pr, &opr, len); /* return record written */
return stat;
}
-int db_add_SIG_to_file_record(void *jcr, B_DB *mdb, FileId_t FileId, char *SIG, int type)
+int db_add_SIG_to_file_record(JCR *jcr, B_DB *mdb, FileId_t FileId, char *SIG, int type)
{
return 1;
}
-int db_mark_file_record(void *jcr, B_DB *mdb, FileId_t FileId, JobId_t JobId)
+int db_mark_file_record(JCR *jcr, B_DB *mdb, FileId_t FileId, JobId_t JobId)
{
return 1;
}
+int db_update_client_record(JCR *jcr, B_DB *mdb, CLIENT_DBR *cr)
+{
+ return 1;
+}
+
+int db_update_counter_record(JCR *jcr, B_DB *mdb, COUNTER_DBR *cr)
+{
+ return 0;
+}
+
+int db_update_media_defaults(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr)
+{
+ return 1;
+}
+
#endif /* HAVE_BACULA_DB */