Lines Matching refs:mr

53 void SetStorageidInMr(StorageResource* store, MediaDbRecord* mr)  in SetStorageidInMr()  argument
55 if (store != NULL) { mr->StorageId = store->StorageId; } in SetStorageidInMr()
72 MediaDbRecord* mr, in FindNextVolumeForAppend() argument
83 bstrncpy(mr->MediaType, store->media_type, sizeof(mr->MediaType)); in FindNextVolumeForAppend()
86 (uint32_t)jcr->JobId, (int)mr->PoolId, mr->MediaType); in FindNextVolumeForAppend()
102 SetStorageidInMr(store, mr); in FindNextVolumeForAppend()
104 bstrncpy(mr->VolStatus, "Append", sizeof(mr->VolStatus)); in FindNextVolumeForAppend()
105 ok = jcr->db->FindNextVolume(jcr, index, InChanger, mr, unwanted_volumes); in FindNextVolumeForAppend()
112 index, InChanger, mr->VolStatus); in FindNextVolumeForAppend()
117 ok = FindRecycledVolume(jcr, InChanger, mr, store, unwanted_volumes); in FindNextVolumeForAppend()
118 SetStorageidInMr(store, mr); in FindNextVolumeForAppend()
120 mr->FirstWritten); in FindNextVolumeForAppend()
125 ok = RecycleOldestPurgedVolume(jcr, InChanger, mr, store, in FindNextVolumeForAppend()
127 SetStorageidInMr(store, mr); in FindNextVolumeForAppend()
134 PruneVolumes(jcr, InChanger, mr, store); in FindNextVolumeForAppend()
136 ok = RecycleOldestPurgedVolume(jcr, InChanger, mr, store, in FindNextVolumeForAppend()
138 SetStorageidInMr(store, mr); /* put StorageId in new record */ in FindNextVolumeForAppend()
143 ok, index, InChanger, mr->VolStatus); in FindNextVolumeForAppend()
147 ok = GetScratchVolume(jcr, InChanger, mr, store); in FindNextVolumeForAppend()
148 SetStorageidInMr(store, mr); /* put StorageId in new record */ in FindNextVolumeForAppend()
152 ok, index, InChanger, mr->VolStatus); in FindNextVolumeForAppend()
169 ok = newVolume(jcr, mr, store); in FindNextVolumeForAppend()
185 SetStorageidInMr(store, mr); in FindNextVolumeForAppend()
186 ok = jcr->db->FindNextVolume(jcr, -1, InChanger, mr, unwanted_volumes); in FindNextVolumeForAppend()
187 SetStorageidInMr(store, mr); in FindNextVolumeForAppend()
198 mr->VolumeName); in FindNextVolumeForAppend()
199 ok = PurgeJobsFromVolume(ua, mr); in FindNextVolumeForAppend()
205 mr->VolumeName); in FindNextVolumeForAppend()
206 ok = PruneVolume(ua, mr); in FindNextVolumeForAppend()
211 ok = RecycleVolume(jcr, mr); in FindNextVolumeForAppend()
218 Dmsg2(debuglevel, "VolJobs=%d FirstWritten=%d\n", mr->VolJobs, in FindNextVolumeForAppend()
219 mr->FirstWritten); in FindNextVolumeForAppend()
224 if (bstrcmp(mr->VolStatus, "Append") && HasVolumeExpired(jcr, mr)) { in FindNextVolumeForAppend()
248 bool HasVolumeExpired(JobControlRecord* jcr, MediaDbRecord* mr) in HasVolumeExpired() argument
257 if (bstrcmp(mr->VolStatus, "Append") && mr->VolJobs > 0) { in HasVolumeExpired()
261 if ((mr->MaxVolBytes > 0 && mr->VolBytes >= mr->MaxVolBytes)) { in HasVolumeExpired()
264 edit_uint64_with_commas(mr->MaxVolBytes, ed1), mr->VolumeName); in HasVolumeExpired()
265 bstrncpy(mr->VolStatus, "Full", sizeof(mr->VolStatus)); in HasVolumeExpired()
267 } else if (mr->VolBytes > 0 && jcr->impl->res.pool->use_volume_once) { in HasVolumeExpired()
273 mr->VolumeName); in HasVolumeExpired()
274 bstrncpy(mr->VolStatus, "Used", sizeof(mr->VolStatus)); in HasVolumeExpired()
276 } else if (mr->MaxVolJobs > 0 && mr->MaxVolJobs <= mr->VolJobs) { in HasVolumeExpired()
282 edit_uint64_with_commas(mr->MaxVolJobs, ed1), mr->VolumeName); in HasVolumeExpired()
283 Dmsg3(debuglevel, "MaxVolJobs=%d JobId=%d Vol=%s\n", mr->MaxVolJobs, in HasVolumeExpired()
284 (uint32_t)jcr->JobId, mr->VolumeName); in HasVolumeExpired()
285 bstrncpy(mr->VolStatus, "Used", sizeof(mr->VolStatus)); in HasVolumeExpired()
287 } else if (mr->MaxVolFiles > 0 && mr->MaxVolFiles <= mr->VolFiles) { in HasVolumeExpired()
293 edit_uint64_with_commas(mr->MaxVolFiles, ed1), mr->VolumeName); in HasVolumeExpired()
294 bstrncpy(mr->VolStatus, "Used", sizeof(mr->VolStatus)); in HasVolumeExpired()
296 } else if (mr->VolUseDuration > 0) { in HasVolumeExpired()
301 if (mr->VolUseDuration <= (now - mr->FirstWritten)) { in HasVolumeExpired()
305 edit_uint64_with_commas(mr->VolUseDuration, ed1), mr->VolumeName); in HasVolumeExpired()
306 bstrncpy(mr->VolStatus, "Used", sizeof(mr->VolStatus)); in HasVolumeExpired()
317 mr->VolumeName); in HasVolumeExpired()
318 SetStorageidInMr(NULL, mr); in HasVolumeExpired()
319 if (!jcr->db->UpdateMediaRecord(jcr, mr)) { in HasVolumeExpired()
321 mr->VolumeName, jcr->db->strerror()); in HasVolumeExpired()
324 Dmsg2(debuglevel, "Vol=%s expired=%d\n", mr->VolumeName, expired); in HasVolumeExpired()
336 MediaDbRecord* mr, in CheckIfVolumeValidOrRecyclable() argument
346 if (bstrcmp(mr->VolStatus, "Append") && HasVolumeExpired(jcr, mr)) { in CheckIfVolumeValidOrRecyclable()
356 if (bstrcmp(mr->VolStatus, "Append") || bstrcmp(mr->VolStatus, "Recycle")) { in CheckIfVolumeValidOrRecyclable()
364 if (bstrcmp(mr->VolStatus, "Purged")) { in CheckIfVolumeValidOrRecyclable()
365 if (RecycleVolume(jcr, mr)) { in CheckIfVolumeValidOrRecyclable()
367 mr->VolumeName); in CheckIfVolumeValidOrRecyclable()
390 if (!mr->Recycle) { in CheckIfVolumeValidOrRecyclable()
399 if ((mr->LastWritten + mr->VolRetention - 60) < (utime_t)time(NULL) && in CheckIfVolumeValidOrRecyclable()
401 (bstrcmp(mr->VolStatus, "Full") || bstrcmp(mr->VolStatus, "Used"))) { in CheckIfVolumeValidOrRecyclable()
408 ok = PruneVolume(ua, mr); in CheckIfVolumeValidOrRecyclable()
415 if (RecycleVolume(jcr, mr)) { in CheckIfVolumeValidOrRecyclable()
417 mr->VolumeName); in CheckIfVolumeValidOrRecyclable()
437 MediaDbRecord* mr, in GetScratchVolume() argument
457 spr.PoolId = mr->ScratchPoolId; in GetScratchVolume()
461 smr.StorageId = mr->StorageId; /* want only Scratch Volumes in changer */ in GetScratchVolume()
466 bstrncpy(smr.MediaType, mr->MediaType, sizeof(smr.MediaType)); in GetScratchVolume()
507 memcpy(mr, &smr, sizeof(MediaDbRecord)); in GetScratchVolume()
508 SetStorageidInMr(store, mr); in GetScratchVolume()
513 SetPoolDbrDefaultsInMediaDbr(mr, &pr); in GetScratchVolume()
519 bstrncpy(mr->VolStatus, smr.VolStatus, sizeof(smr.VolStatus)); in GetScratchVolume()
520 mr->RecyclePoolId = smr.RecyclePoolId; in GetScratchVolume()
522 if (!jcr->db->UpdateMediaRecord(jcr, mr)) { in GetScratchVolume()
529 mr->VolumeName); in GetScratchVolume()