X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Fbcopy.c;h=fbb35120e5ca5ce803ce88a5feba8bf3d2726ba1;hb=36b40d5c7f3ff90565ab73ac75f0dc4f6660ff37;hp=e84560797ce97f6e11f865fa45deab6d6c2a6272;hpb=217e5ed47147cd420ed0799a96868a561bfd6b57;p=bacula%2Fbacula diff --git a/bacula/src/stored/bcopy.c b/bacula/src/stored/bcopy.c index e84560797c..fbb35120e5 100644 --- a/bacula/src/stored/bcopy.c +++ b/bacula/src/stored/bcopy.c @@ -258,9 +258,20 @@ static bool record_cb(DCR *in_dcr, DEV_RECORD *rec) Pmsg0(000, _("Volume label not copied.\n")); return true; case SOS_LABEL: - jobs++; + if (bsr && rec->match_stat < 1) { + /* Skipping record, because does not match BSR filter */ + if (verbose) { + Pmsg0(-1, _("Copy skipped. Record does not match BSR filter.\n")); + } + } else { + jobs++; + } break; case EOS_LABEL: + if (bsr && rec->match_stat < 1) { + /* Skipping record, because does not match BSR filter */ + return true; + } while (!write_record_to_block(out_block, rec)) { Dmsg2(150, "!write_record_to_block data_len=%d rem=%d\n", rec->data_len, rec->remainder); @@ -292,6 +303,10 @@ static bool record_cb(DCR *in_dcr, DEV_RECORD *rec) } /* Write record */ + if (bsr && rec->match_stat < 1) { + /* Skipping record, because does not match BSR filter */ + return true; + } records++; while (!write_record_to_block(out_block, rec)) { Dmsg2(150, "!write_record_to_block data_len=%d rem=%d\n", rec->data_len,