summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Noll <maan@systemlinux.org>2010-05-12 11:04:36 +0200
committerAndre Noll <maan@systemlinux.org>2010-05-12 11:04:36 +0200
commitf92d4b984e14d18f468151ac8596dc0159ff838e (patch)
treed2cb877f29a7b6e4aea7ba8dbf1a4d2b6ddc0c4e
parent1a2bfdde95331f8f7262b99c07a5438dae827cdf (diff)
parent9be379abc03581531410b22e6164e9d54be3c034 (diff)
Merge branch 't/unconditional_hooks'
-rw-r--r--dss.c24
-rw-r--r--dss.ggo5
2 files changed, 6 insertions, 23 deletions
diff --git a/dss.c b/dss.c
index 9f601ce..531beb6 100644
--- a/dss.c
+++ b/dss.c
@@ -214,10 +214,6 @@ static int pre_create_hook(void)
assert(snapshot_creation_status == HS_READY);
/* make sure that the next snapshot time will be recomputed */
invalidate_next_snapshot_time();
- if (!conf.pre_create_hook_given) {
- snapshot_creation_status = HS_PRE_SUCCESS;
- return 0;
- }
DSS_DEBUG_LOG("executing %s\n", conf.pre_create_hook_arg);
ret = dss_exec_cmdline_pid(&create_pid,
conf.pre_create_hook_arg, fds);
@@ -243,10 +239,6 @@ static int pre_remove_hook(struct snapshot *s, const char *why)
*snapshot_currently_being_removed = *s;
snapshot_currently_being_removed->name = dss_strdup(s->name);
- if (!conf.pre_remove_hook_given) {
- snapshot_removal_status = HS_PRE_SUCCESS;
- return 0;
- }
cmd = make_message("%s %s/%s", conf.pre_remove_hook_arg,
conf.dest_dir_arg, s->name);
DSS_DEBUG_LOG("executing %s\n", cmd);
@@ -502,11 +494,6 @@ static int post_create_hook(void)
int ret, fds[3] = {0, 0, 0};
char *cmd;
- if (!conf.post_create_hook_given) {
- create_pid = 0;
- snapshot_creation_status = HS_READY;
- return 0;
- }
cmd = make_message("%s %s/%s", conf.post_create_hook_arg,
conf.dest_dir_arg, path_to_last_complete_snapshot);
DSS_NOTICE_LOG("executing %s\n", cmd);
@@ -526,10 +513,6 @@ static int post_remove_hook(void)
assert(s);
- if (!conf.post_remove_hook_given) {
- snapshot_removal_status = HS_READY;
- return 0;
- }
cmd = make_message("%s %s/%s", conf.post_remove_hook_arg,
conf.dest_dir_arg, s->name);
DSS_NOTICE_LOG("executing %s\n", cmd);
@@ -657,10 +640,7 @@ static int handle_rm_exit(int status)
snapshot_removal_status = HS_READY;
return -E_BAD_EXIT_CODE;
}
- if (conf.post_remove_hook_given)
- snapshot_removal_status = HS_SUCCESS;
- else
- snapshot_removal_status = HS_READY;
+ snapshot_removal_status = HS_SUCCESS;
return 1;
}
@@ -1172,8 +1152,6 @@ static void exit_hook(int exit_code)
char *argv[] = {conf.exit_hook_arg, dss_strerror(-exit_code), NULL};
pid_t pid;
- if (!conf.exit_hook_given)
- return;
DSS_NOTICE_LOG("executing %s %s\n", argv[0], argv[1]);
dss_exec(&pid, conf.exit_hook_arg, argv, fds);
}
diff --git a/dss.ggo b/dss.ggo
index 09e345d..7934db3 100644
--- a/dss.ggo
+++ b/dss.ggo
@@ -268,6 +268,7 @@ option "pre-create-hook" r
#~~~~~~~~~~~~~~~~~~~~~~~~~~
"Executed before snapshot creation"
string typestr="command"
+default = "/bin/true"
optional
details="
Execute this command before trying to create a new snapshot.
@@ -286,6 +287,7 @@ option "post-create-hook" o
#~~~~~~~~~~~~~~~~~~~~~~~~~~
"Executed after snapshot creation"
string typestr="command"
+default = "/bin/true"
optional
details="
Execute this after a snapshot has successfully been
@@ -302,6 +304,7 @@ option "pre-remove-hook" -
#~~~~~~~~~~~~~~~~~~~~~~~~~~
"Executed before snapshot removal"
string typestr="command"
+default = "/bin/true"
optional
details="
Execute this command before removing a snapshot. The full
@@ -323,6 +326,7 @@ option "post-remove-hook" -
#~~~~~~~~~~~~~~~~~~~~~~~~~~
"Executed after snapshot removal"
string typestr="command"
+default = "/bin/true"
optional
details="
Execute this after a snapshot has successfully been removed. As
@@ -335,6 +339,7 @@ option "exit-hook" e
#~~~~~~~~~~~~~~~~~~~
"Executed if run command exits"
string typestr="command"
+default = "/bin/true"
optional
details="
This hook is only used if the --run command was given which