+27Mar04
+- Make the default for restore to have nothing marked.
+- The "all" keyword on the restore command marks everything by
+ default.
+- The "done" keyword on the restore command prevents user interaction
+ with the tree routines -- used mainly for scripting (regression ...).
+- Correct a bug in the last_sibling code.
+- Add alphabetic sorting of siblings so the "dir" and "ls" commands
+ during restore show files in alphabetic order.
+25Mar04
+- Based on Mike Acar's suggestions rework tree insert routines. Improve
+ performance by using a last_sibling link for inserts.
24Mar04
- Apply corrected SQL to sql_get.c supplied by Dan Langille.
- Implement "delete job jobid=xxx jobid=yyy ..."
Major Features:
- Data spooling which eliminates tape shoe-shine during Inc backups,
and permits multiple simultaneous backups without interleaved blocks.
-- Polling of devices eliminating need to unmount and mount from
- console.
- Native Win32 client -- much faster and restores permissions correctly
(thanks to Christopher Hull)
- PostgreSQL database driver (thanks to Dan Langille).
+- Polling of devices eliminating need to unmount and mount from
+ console.
- Improved Autochange support of Slots (update slots scan).
- Autochanger support for multiple drives.
- New conio code to implement Console command line editing and history.
- Daemon statistics memory.
- Improved btape "test" and "fill" commands.
+
+Items to note: !!!!!
+- The restore default is changed to have nothing selected by default.
+ You must either enter: "restore all" or after getting into the tree
+ selection prompt enter "mark *" to have everything selected.
+- In previous versions the "all" keyword on the restore command caused
+ it to return without user interaction after selecting everything.
+ This function is now replaced by the "done" keyword (more logical).
+ The "all" keyword now causes everything to be selected by default.
+- The default tape driver behavior is now to write only a single EOF
+ at the end of the tape. For most tape drives, this is totally
+ transparent and nothing needs to be done. For FreeBSD see below.
+- FreeBSD users NOTE!!!!!
+ You MUST add the following two records to your SD Device resource for
+ tape drives.
+
+ TWOEOF = yes
+ Fast Forward Space File = no
+
+- The daemon protocol has changed, you must update everything at once.
+- The database level has been updated. You must either re-initialize
+ your databases with:
+
+ ./drop_bacula_tables
+ ./make_bacula_tables
+
+ which will delete ALL prior catalog information, or you can
+ update your database with:
+
+ ./update_bacula_tables
+
+ Please save your old database before dropping the tables or doing
+ an upgrade or you may regret it later.
+
+- smtp has now become bsmtp -- you *must* modify your .conf files.
+- console has now become bconsole.
+- console.conf is now bconsole.conf
+- Please don't underestimate the repercussions of the bsmtp and bconsole
+ name changes!
+
+
New directives:
- "Close on Poll = yes/no" in SD Device resource.
- "Volume Poll Interval = time-interval" in SD Device resource.
- "quit" command in restore tree.
- Trace option on "setdebug trace=1/0 ..."
- Update slots scan
+- The "all" keyword on the restore command marks all files by default.
+- The "done" keyword prevents user interaction with the tree -- used
+ mostly for batch scripting.
Additional changes:
a single Volume where the volume lable is not in the first
tape block, so the tape is not recognized.
-Items to note: !!!!!
-- FreeBSD users NOTE!!!!!
- You MUST add the following two records to your SD Device resource for
- tape drives.
-
- TWOEOF = yes
- Fast Forward Space File = no
-
-- The daemon protocol has changed, you must update everything at once.
-- The database level has been updated. You must either re-initialize
- your databases with:
-
- ./drop_bacula_tables
- ./make_bacula_tables
-
- which will delete ALL prior catalog information, or you can
- update your database with:
-
- ./update_bacula_tables
-
- Please save your old database before dropping the tables or doing
- an upgrade or you may regret it later.
-
-- smtp has now become bsmtp
-- console has now become bconsole.
-- console.conf is now bconsole.conf
-- Please don't underestimate the repercussions of the bsmtp and bconsole
- name changes!
int fnl; /* filename length */
int pnl; /* path length */
bool found;
+ bool all; /* mark all as default */
NAME_LIST name_list;
};
"file", /* 3 */
"select", /* 4 */
"pool", /* 5 */
- "client", /* 6 */
- "storage", /* 7 */
- "fileset", /* 8 */
- "where", /* 9 */
- "all", /* 10 */
+ "all", /* 6 */
+ "client", /* 7 */
+ "storage", /* 8 */
+ "fileset", /* 9 */
+ "where", /* 10 */
"yes", /* 11 */
+ "done", /* 12 */
NULL
};
return 0;
}
break;
+ case 6: /* all specified */
+ rx->all = true;
+ break;
/*
- * All keywords 6 or greater are ignored or handled by a select prompt
+ * All keywords 7 or greater are ignored or handled by a select prompt
*/
default:
break;
tree.root = new_tree(rx->TotalFiles);
tree.root->fname = nofname;
tree.ua = ua;
+ tree.all = rx->all;
last_JobId = 0;
/*
* For display purposes, the same JobId, with different volumes may
bsendmsg(ua, "%s", db_strerror(ua->db));
}
}
- bsendmsg(ua, "%d Job%s inserted into the tree and marked for extraction.\n",
- items, items==1?"":"s");
+ bsendmsg(ua, "%d Job%s inserted into the tree%s.\n",
+ items, items==1?"":"s", tree.all?" and marked for extraction":"");
/* Check MediaType and select storage that corresponds */
get_storage_from_mediatype(ua, &rx->name_list, rx);
- if (find_arg(ua, _("all")) < 0) {
+ if (find_arg(ua, _("done")) < 0) {
/* Let the user interact in selecting which files to restore */
OK = user_select_files_from_tree(&tree);
}