]> git.sur5r.net Git - bacula/bacula/commitdiff
Pass Delta Sequence to save_pkt and restore_pkt
authorEric Bollengier <eric@eb.homelinux.org>
Sat, 20 Nov 2010 13:24:03 +0000 (14:24 +0100)
committerEric Bollengier <eric@eb.homelinux.org>
Thu, 25 Nov 2010 13:55:53 +0000 (14:55 +0100)
bacula/src/filed/fd_plugins.c
bacula/src/filed/fd_plugins.h

index 335d66a283826ffd0b65509aba0e01eceee1e855..804019e9f21f6a251814211fe9fdef9cd3adf060 100644 (file)
@@ -396,6 +396,7 @@ int plugin_save(JCR *jcr, FF_PKT *ff_pkt, bool top_level)
             pm_strcpy(link, sp.link);
             ff_pkt->fname = fname.c_str();
             ff_pkt->link = link.c_str();
+            ff_pkt->delta_seq = sp.delta_seq;
             if (sp.flags & FO_DELTA) {
                ff_pkt->flags |= FO_DELTA;
                ff_pkt->delta_seq++;          /* make new delta sequence number */
@@ -1339,6 +1340,11 @@ static bRC baculaCheckChanges(bpContext *ctx, struct save_pkt *sp)
       ret = bRC_Seen;
    }
 
+   /* check_changes() can update delta sequence number, return it to the
+    * plugin 
+    */
+   sp->delta_seq = ff_pkt->delta_seq;
+
 bail_out:
    Dmsg1(100, "checkChanges=%i\n", ret);
    return ret;
index 2564244319cb10fd6f6245cc2289308344ecbf75..9975a9f3e3690c7e9b0712ff755e411f931d671a 100644 (file)
@@ -106,6 +106,7 @@ struct save_pkt {
    char *object;                      /* restore object data to save */
    int32_t object_len;                /* restore object length */
    int32_t index;                     /* restore object index */
+   int32_t delta_seq;                 /* Delta sequence number */
    int32_t pkt_end;                   /* end packet sentinel */
 };
 
@@ -128,6 +129,7 @@ struct restore_pkt {
    const char *RegexWhere;            /* regex where */
    int replace;                       /* replace flag */
    int create_status;                 /* status from createFile() */
+   int32_t delta_seq;                 /* Delta sequence number */
    int32_t pkt_end;                   /* end packet sentinel */
 };