From: Eric Bollengier Date: Tue, 22 Sep 2020 09:12:36 +0000 (+0200) Subject: Use seek() with FO_OFFSETS X-Git-Tag: Release-11.3.2~853 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab0349252cd73f9c705cdf8ecddc1cbe961492a5;p=thirdparty%2Fbacula.git Use seek() with FO_OFFSETS --- diff --git a/bacula/src/filed/restore.c b/bacula/src/filed/restore.c index 261c64230..186f36c57 100644 --- a/bacula/src/filed/restore.c +++ b/bacula/src/filed/restore.c @@ -1217,8 +1217,7 @@ bool sparse_data(JCR *jcr, BFILE *bfd, uint64_t *addr, char **data, uint32_t *le char ec1[50]; unser_begin(*data, OFFSET_FADDR_SIZE); unser_uint64(faddr); - /* We seek only if we have a SPARSE stream, not for OFFSET */ - if ((flags & FO_SPARSE) && *addr != faddr) { + if (*addr != faddr) { *addr = faddr; if (blseek(bfd, (boffset_t)*addr, SEEK_SET) < 0) { berrno be; diff --git a/bacula/src/stored/bextract.c b/bacula/src/stored/bextract.c index b898bb3d3..a1a2029b1 100644 --- a/bacula/src/stored/bextract.c +++ b/bacula/src/stored/bextract.c @@ -488,8 +488,7 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec) wsize = rec->data_len - OFFSET_FADDR_SIZE; ser_begin(rec->data, OFFSET_FADDR_SIZE); unser_uint64(faddr); - /* We seek only for real SPARSE data, not for OFFSET option */ - if ((rec->Stream & STREAM_BIT_OFFSETS) == 0 && fileAddr != faddr) { + if (fileAddr != faddr) { fileAddr = faddr; if (blseek(&bfd, (boffset_t)fileAddr, SEEK_SET) < 0) { berrno be;