]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Use seek() with FO_OFFSETS
authorEric Bollengier <eric@baculasystems.com>
Tue, 22 Sep 2020 09:12:36 +0000 (11:12 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 24 Mar 2022 08:02:58 +0000 (09:02 +0100)
bacula/src/filed/restore.c
bacula/src/stored/bextract.c

index 261c642305494498fe0dcf629a266a5c28455613..186f36c57202a4524ed1998fd6e9ce2b57c86178 100644 (file)
@@ -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;
index b898bb3d33669c809925f2cd072626dd85eb819c..a1a2029b1cd8c96a0001c80456d4a7fabf722f6c 100644 (file)
@@ -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;