]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/askdir.c
Merge branch 'master' into basejobv3
[bacula/bacula] / bacula / src / stored / askdir.c
index 9b492c22e4c3ca4fb1c5803f14068753b51198c7..b85d78e6ebbba8b90cac1caebc0f4eb8037b7053 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2009 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
@@ -401,7 +401,7 @@ bool dir_create_jobmedia_record(DCR *dcr, bool zero)
    /* Throw out records where FI is zero -- i.e. nothing done */
    if (!zero && dcr->VolFirstIndex == 0 && 
         (dcr->StartBlock != 0 || dcr->EndBlock != 0)) {
-      Dmsg0(000, "JobMedia problem FI=0 StartBlock!=0\n");
+      Dmsg0(100, "JobMedia FI=0 StartBlock!=0 record suppressed\n");
       return true;
    }
 
@@ -465,6 +465,10 @@ bool dir_update_file_attributes(DCR *dcr, DEV_RECORD *rec)
    ser_bytes(rec->data, rec->data_len);
    dir->msglen = ser_length(dir->msg);
    Dmsg1(1800, ">dird %s\n", dir->msg);    /* Attributes */
+   if (rec->Stream == STREAM_UNIX_ATTRIBUTES || 
+       rec->Stream == STREAM_UNIX_ATTRIBUTES_EX) {
+      dir->set_data_end();                 /* set offset of last valid data */
+   }
    return dir->send();
 }
 
@@ -494,6 +498,9 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
    JCR *jcr = dcr->jcr;
    bool got_vol = false;
 
+   if (job_canceled(jcr)) {
+      return false;
+   }
    Dmsg0(400, "enter dir_ask_sysop_to_create_appendable_volume\n");
    ASSERT(dev->blocked());
    for ( ;; ) {