dss.git
11 years agodss-0.1.1. v0.1.1
Andre Noll [Wed, 12 Nov 2008 16:52:20 +0000 (17:52 +0100)]
dss-0.1.1.

11 years agoPrevent busy loops on rsync exit code 13.
Andre Noll [Thu, 6 Nov 2008 09:32:01 +0000 (10:32 +0100)]
Prevent busy loops on rsync exit code 13.

We restart the rsync process in case it returned with exit code 13
which unfortunately happens for some unknown reasons even with a
valid configuration.

This may lead to a busy loop, so wait at least one minute before
restarting rsync.

11 years agoIgnore any snapshot directory with creation time > completion time.
Andre Noll [Thu, 6 Nov 2008 08:52:28 +0000 (09:52 +0100)]
Ignore any snapshot directory with creation time > completion time.

Without this fix, dss would abort du to an assertion in dss.c:

dss.c:171: compute_next_snapshot_time: Assertion `x >= 0' failed.

Thanks to Sebastian Stark for pointing out this flaw.

11 years agouse C99-compliant format strings for consistency reasons
Sebastian Stark [Wed, 22 Oct 2008 15:14:30 +0000 (17:14 +0200)]
use C99-compliant format strings for consistency reasons

11 years agoopen /dev/null for reading AND writing when executing rsync.
Sebastian Stark [Wed, 22 Oct 2008 12:59:11 +0000 (14:59 +0200)]
open /dev/null for reading AND writing when executing 

This is needed for child processes to be able to write to fd 2 without failing.

For example, rsync will not be able to write an error message because of "Bad
file descriptor" which in turn leads to rsync exiting with meaningless exit
code 13 ("Errors with program diagnostics"), masking the actual error and exit
code.

The fact that rsync uses exit code 13 in that case makes this bug particularly
painful since 13 is interpreted by dss as a temporary rsync error that can be
"fixed" by simply restarting rsync. This can lead to an infinite loop,
obviously.

11 years agoshow human readable snapshot creation duration when listing snapshots.
Sebastian Stark [Wed, 22 Oct 2008 11:31:42 +0000 (13:31 +0200)]
show human readable snapshot creation duration when listing snapshots.

The PRId64 macro is defined in the C99 standard. See

  http://www.opengroup.org/onlinepubs/009695399/basedefs/inttypes.h.html

11 years agoAdd dss.1 and dss.1.html to .gitignore.
Andre Noll [Mon, 7 Jul 2008 14:29:56 +0000 (16:29 +0200)]
Add dss.1 and dss.1.html to .gitignore.

11 years agoRestart the rsync process if it returned with exit code 13.
Andre Noll [Mon, 7 Jul 2008 14:29:38 +0000 (16:29 +0200)]
Restart the rsync process if it returned with exit code 13.

Unfortunately this happens frequently for no apparent reason.

11 years agoFix the exit hook.
Andre Noll [Wed, 21 May 2008 14:36:13 +0000 (16:36 +0200)]
Fix the exit hook.

As dss_exec_cmdline_pid() uses the space character as a separator
to split the command line, the words of the error message were
passed as separate parameters to the exit hook.

Use dss_exec() directly to avoid this flaw, i.e. to pass the full
error message as $1 to the exit hook.

11 years agoOffer a direct link to the automatically generated tarball.
Andre Noll [Fri, 16 May 2008 09:27:48 +0000 (11:27 +0200)]
Offer a direct link to the automatically generated tarball.

As suggested by Sebastian Stark.

11 years agoNAME section for manpage
Sebastian Stark [Wed, 14 May 2008 14:08:25 +0000 (16:08 +0200)]
NAME section for manpage

11 years agoadd SEE ALSO section to manpage
Sebastian Stark [Wed, 14 May 2008 14:03:31 +0000 (16:03 +0200)]
add SEE ALSO section to manpage

11 years agodss-0.1.0. v0.1.0
Andre Noll [Wed, 14 May 2008 13:16:08 +0000 (15:16 +0200)]
dss-0.1.0.

11 years agosnap.c: Add missing include to make it compile on FreeBSD.
Andre Noll [Wed, 14 May 2008 12:22:40 +0000 (14:22 +0200)]
snap.c: Add missing include to make it compile on FreeBSD.

11 years agoNetBSD Compile fixes.
Andre Noll [Wed, 14 May 2008 12:09:41 +0000 (14:09 +0200)]
NetBSD Compile fixes.

Add a missing include and the dss_isdigit macro.

11 years agoFix paths and URLs, improve INSTALL text.
Andre Noll [Tue, 13 May 2008 14:47:29 +0000 (16:47 +0200)]
Fix paths and URLs, improve INSTALL text.

11 years agoINSTALL: Fix a typo.
Andre Noll [Mon, 12 May 2008 22:32:51 +0000 (00:32 +0200)]
INSTALL: Fix a typo.

11 years agoREADME, INSTALL improvements.
Andre Noll [Mon, 12 May 2008 21:21:45 +0000 (23:21 +0200)]
README, INSTALL improvements.

Improve basic example usage and mention that dss provides an additional
level of data security.

11 years agoImplement exit-hooks.
Andre Noll [Mon, 12 May 2008 18:29:34 +0000 (20:29 +0200)]
Implement exit-hooks.

11 years agoClarify documentation of --run.
Andre Noll [Mon, 12 May 2008 18:28:58 +0000 (20:28 +0200)]
Clarify documentation of --run.

11 years agoAdd new option --keep-redundant.
Andre Noll [Mon, 12 May 2008 15:42:35 +0000 (17:42 +0200)]
Add new option --keep-redundant.

11 years agoFix the math in the description of the unit interval.
Andre Noll [Mon, 12 May 2008 15:42:14 +0000 (17:42 +0200)]
Fix the math in the description of the unit interval.

11 years agoClarify the difference between outdated and redundant snapshots.
Andre Noll [Mon, 12 May 2008 15:41:15 +0000 (17:41 +0200)]
Clarify the difference between outdated and redundant snapshots.

11 years agoAdd section "Commands" to dss help text.
Andre Noll [Mon, 12 May 2008 14:41:35 +0000 (16:41 +0200)]
Add section "Commands" to dss help text.

11 years agoindex.html.in: Remove Link to top of the page.
Andre Noll [Mon, 12 May 2008 14:41:13 +0000 (16:41 +0200)]
index.html.in: Remove Link to top of the page.

11 years agoAdd web page stuff.
Andre Noll [Mon, 12 May 2008 13:22:12 +0000 (15:22 +0200)]
Add web page stuff.

11 years agoAdd INSTALL -- installation and usage notes.
Andre Noll [Mon, 12 May 2008 13:19:27 +0000 (15:19 +0200)]
Add INSTALL -- installation and usage notes.

11 years agodss.c: Remove obsolete TODO item.
Andre Noll [Mon, 12 May 2008 12:35:35 +0000 (14:35 +0200)]
dss.c: Remove obsolete TODO item.

11 years agoMinor help text improvements/fixes.
Andre Noll [Mon, 12 May 2008 12:35:19 +0000 (14:35 +0200)]
Minor help text improvements/fixes.

11 years agoAdd GPL headers and COPYING file.
Andre Noll [Mon, 12 May 2008 08:56:35 +0000 (10:56 +0200)]
Add GPL headers and COPYING file.

11 years agodss-0.0.5. v0.0.5
Andre Noll [Thu, 24 Apr 2008 16:01:19 +0000 (18:01 +0200)]
dss-0.0.5.

11 years agoFix return value of try_to_free_disk_space().
Andre Noll [Thu, 24 Apr 2008 15:39:53 +0000 (17:39 +0200)]
Fix return value of try_to_free_disk_space().

We must never, ever return a system error without converting
it to a dss error code first.

11 years agoLoglevel adjustments.
Andre Noll [Thu, 24 Apr 2008 15:38:29 +0000 (17:38 +0200)]
Loglevel adjustments.

11 years agoFix select timeout.
root [Thu, 17 Apr 2008 15:58:20 +0000 (17:58 +0200)]
Fix select timeout.

Under Linux, select() modifies the timeval pointed to by the last
parameter; it contains the time that was not slept because an fd
in one of the given fd sets became ready.

It is hence necessary to reset the time to be slept in each iteration
off dss' select loop.

11 years agoMerge commit 'fml/master'
root [Mon, 14 Apr 2008 16:33:39 +0000 (18:33 +0200)]
Merge commit 'fml/master'

11 years agodss.c: Sleep at most 60 seconds.
Andre Noll [Mon, 14 Apr 2008 16:30:50 +0000 (18:30 +0200)]
dss.c: Sleep at most 60 seconds.

Otherwise we might miss to remove snapshots in time.

11 years agoMerge commit 'remotes/fml/master'
root [Mon, 31 Mar 2008 11:07:45 +0000 (13:07 +0200)]
Merge commit 'remotes/fml/master'

11 years agoKill --exclude-patterns option.
Andre Noll [Mon, 31 Mar 2008 11:05:52 +0000 (13:05 +0200)]
Kill --exclude-patterns option.

The same can be achieved by using the --rsync-option.

11 years agoMerge commit 'remotes/fml/master'
root [Fri, 28 Mar 2008 14:10:20 +0000 (15:10 +0100)]
Merge commit 'remotes/fml/master'

11 years agoFix a serious bug in deamon mode.
Andre Noll [Fri, 28 Mar 2008 14:01:09 +0000 (15:01 +0100)]
Fix a serious bug in deamon mode.

In daemon mode, we changed to dest_dir _before_ calling daemon_init(),
which changes the cwd to /.

Fix this rather embarrassing bug by changing cwd later. To this aim,
introduce change_to_dest_dir() which also logs some messages.

11 years agodss.ggo: Disable inode monitoring by default.
Andre Noll [Thu, 27 Mar 2008 16:59:22 +0000 (17:59 +0100)]
dss.ggo: Disable inode monitoring by default.

Not all file systems support inodes. For example reiserfs reports zero
for all inode-related fields in the statvfs structure. Even worse, on
windows file systems, the field contains some more or less arbitrary
large number.

11 years agoRemove some useless stuff from gcc-compat.h
root [Thu, 27 Mar 2008 10:22:36 +0000 (11:22 +0100)]
Remove some useless stuff from gcc-compat.h

11 years agoPrint config errors.
Andre Noll [Thu, 27 Mar 2008 10:15:15 +0000 (11:15 +0100)]
Print config errors.

Dooh. This broke in 9c4bc98761828cbe3997e071ad5b4d24eb52e599.

11 years agodss-0.0.4. v0.0.4
Andre Noll [Sat, 22 Mar 2008 20:55:48 +0000 (21:55 +0100)]
dss-0.0.4.

11 years agoAlso check for free inodes and start snapshot removal if necessary.
Andre Noll [Sat, 22 Mar 2008 20:54:59 +0000 (21:54 +0100)]
Also check for free inodes and start snapshot removal if necessary.

11 years agoAdd special rule to make cmdline.o.
Andre Noll [Sat, 22 Mar 2008 14:26:56 +0000 (15:26 +0100)]
Add special rule to make cmdline.o.

I got tired of the warnings gcc spits out when compiling cmdline.c.

11 years agoMakefile: Replace dependencies on cmdline.h by Makefile.
Andre Noll [Sat, 22 Mar 2008 14:24:46 +0000 (15:24 +0100)]
Makefile: Replace dependencies on cmdline.h by Makefile.

The dependencies on cmdline.h are mentioned in Makefile.deps
anyway. But everything depends on Makefile, so..

11 years agoMakefile: The linker does not need CPPFLAGS.
Andre Noll [Sat, 22 Mar 2008 14:22:50 +0000 (15:22 +0100)]
Makefile: The linker does not need CPPFLAGS.

11 years agostring.c: Include stdio instead of cmdline.h.
Andre Noll [Sat, 22 Mar 2008 14:19:27 +0000 (15:19 +0100)]
string.c: Include stdio instead of cmdline.h.

The string helper functions really should not depend on the
command line parser.

11 years agoAdd more source code documentation.
Andre Noll [Sat, 22 Mar 2008 14:06:12 +0000 (15:06 +0100)]
Add more source code documentation.

11 years agodss.c: Make functions and global variables static.
Andre Noll [Sat, 22 Mar 2008 13:43:32 +0000 (14:43 +0100)]
dss.c: Make functions and global variables static.

11 years agoMove snapshot helpers to new file snap.[ch].
Andre Noll [Sat, 22 Mar 2008 13:37:09 +0000 (14:37 +0100)]
Move snapshot helpers to new file snap.[ch].

11 years agoKill unused dss_error_txt.
Andre Noll [Sat, 22 Mar 2008 11:51:18 +0000 (12:51 +0100)]
Kill unused dss_error_txt.

11 years agoMove log_disk_space() to df.c.
Andre Noll [Sat, 22 Mar 2008 11:49:44 +0000 (12:49 +0100)]
Move log_disk_space() to df.c.

11 years agoKill struct edge_snapshot_data.
Andre Noll [Sat, 22 Mar 2008 11:45:28 +0000 (12:45 +0100)]
Kill struct edge_snapshot_data.

Just get the full snapshot list and take the last complete one instead.

11 years agoGet rid of make_err_msg() and log_err_msg().
Andre Noll [Sat, 22 Mar 2008 11:09:40 +0000 (12:09 +0100)]
Get rid of make_err_msg() and log_err_msg().

It's too error-prone to be useful.

11 years agoMakefile: use --detailed-help to produce the man page.
Andre Noll [Sat, 22 Mar 2008 10:01:52 +0000 (11:01 +0100)]
Makefile: use --detailed-help to produce the man page.

11 years agodss.c: Add some more documentation.
Andre Noll [Sat, 22 Mar 2008 10:00:21 +0000 (11:00 +0100)]
dss.c: Add some more documentation.

11 years agodss.ggo: Minor documentation improvements.
Andre Noll [Fri, 21 Mar 2008 22:59:20 +0000 (23:59 +0100)]
dss.ggo: Minor documentation improvements.

11 years agoImplement pre-create and post-create hooks.
Andre Noll [Fri, 21 Mar 2008 22:17:09 +0000 (23:17 +0100)]
Implement pre-create and post-create hooks.

11 years agoFix wait_pro_process().
Andre Noll [Fri, 21 Mar 2008 12:42:02 +0000 (13:42 +0100)]
Fix wait_pro_process().

The old code was racy.

11 years agoDon't check for required options when parsing the command line.
Andre Noll [Fri, 21 Mar 2008 12:19:32 +0000 (13:19 +0100)]
Don't check for required options when parsing the command line.

We want to be able to specify required options in the config file.

11 years agoMerge commit 'remotes/meins/master'
Andre Noll [Thu, 20 Mar 2008 10:35:39 +0000 (11:35 +0100)]
Merge commit 'remotes/meins/master'

Conflicts:

dss.ggo

11 years agodss.ggo: Clarify --daemon help text.
Andre Noll [Thu, 20 Mar 2008 10:34:19 +0000 (11:34 +0100)]
dss.ggo: Clarify --daemon help text.

It _is_ possible to use --daemon also for commands
different from -R.

11 years agoImplement SIGHUP handling.
Andre Noll [Wed, 19 Mar 2008 23:36:44 +0000 (00:36 +0100)]
Implement SIGHUP handling.

11 years agodss.ggo: Fix a typo.
Andre Noll [Wed, 19 Mar 2008 23:36:09 +0000 (00:36 +0100)]
dss.ggo: Fix a typo.

11 years agofix some typos in the documentation, make some options more clear
Sebastian Stark [Wed, 19 Mar 2008 10:32:59 +0000 (11:32 +0100)]
fix some typos in the documentation, make some options more clear

11 years agodss-0.0.3. v0.0.3
Andre Noll [Tue, 18 Mar 2008 23:37:49 +0000 (00:37 +0100)]
dss-0.0.3.

11 years agoREADME: Match reality: There's no more daemon command.
Andre Noll [Tue, 18 Mar 2008 23:37:29 +0000 (00:37 +0100)]
README: Match reality: There's no more daemon command.

11 years agodss.c: Various small improvements and fixes.
Andre Noll [Tue, 18 Mar 2008 23:34:14 +0000 (00:34 +0100)]
dss.c: Various small improvements and fixes.

11 years agoMakefile: Use -include instead of include.
Andre Noll [Tue, 18 Mar 2008 23:16:38 +0000 (00:16 +0100)]
Makefile: Use -include instead of include.

This gets rid of the warning that make spits out if Makefile.deps
does not exist.

11 years agoMakefile: Get rid of the unnamed opts.
Andre Noll [Tue, 18 Mar 2008 22:59:26 +0000 (23:59 +0100)]
Makefile: Get rid of the unnamed opts.

11 years agodss.ggo: Add more documentation, and reformat help text.
Andre Noll [Tue, 18 Mar 2008 22:59:01 +0000 (23:59 +0100)]
dss.ggo: Add more documentation, and reformat help text.

11 years agoFix a couple of bugs and start creating snapshots in the select loop.
Andre Noll [Tue, 18 Mar 2008 22:57:50 +0000 (23:57 +0100)]
Fix a couple of bugs and start creating snapshots in the select loop.

11 years agoImplement the run command.
Andre Noll [Tue, 18 Mar 2008 17:59:25 +0000 (18:59 +0100)]
Implement the run command.

11 years agoBump version to 0.0.2. v0.0.2
Andre Noll [Mon, 17 Mar 2008 09:29:03 +0000 (10:29 +0100)]
Bump version to 0.0.2.

Much better than 0.0.1 but still many features missing, most notably
the "run" command is still non-functional.

11 years agoAdd .gitignore.
Andre Noll [Sun, 16 Mar 2008 21:54:47 +0000 (22:54 +0100)]
Add .gitignore.

11 years agoAdd fd.c and ds.h: functions for computing free disk space.
Andre Noll [Sun, 16 Mar 2008 21:49:50 +0000 (22:49 +0100)]
Add fd.c and ds.h: functions for computing free disk space.

11 years agoImplement signal handling.
Andre Noll [Sun, 16 Mar 2008 19:37:46 +0000 (20:37 +0100)]
Implement signal handling.

11 years agoFix and improve dry run handling.
Andre Noll [Sun, 16 Mar 2008 17:15:11 +0000 (18:15 +0100)]
Fix and improve dry run handling.

With this change, the dry-run option becomes global,
i.e. each command can support this option.

Change the create command such that it prints out the
rsync command it would execute if --dry_run was given.

11 years agoImplement logfile and daemon mode.
Andre Noll [Sun, 16 Mar 2008 16:49:38 +0000 (17:49 +0100)]
Implement logfile and daemon mode.

11 years agoCommand handlers don't need to take any arguments.
Andre Noll [Sun, 16 Mar 2008 16:13:12 +0000 (17:13 +0100)]
Command handlers don't need to take any arguments.

11 years agoGet rid of E_INVALID_COMMAND.
Andre Noll [Sun, 16 Mar 2008 16:07:26 +0000 (17:07 +0100)]
Get rid of E_INVALID_COMMAND.

11 years agodss.c: Fix check for number of non-options.
Andre Noll [Sun, 16 Mar 2008 16:05:01 +0000 (17:05 +0100)]
dss.c: Fix check for number of non-options.

With group options, it's a syntax error to specify any non-options.

11 years agodss.ggo: Reorder options and help text.
Andre Noll [Sun, 16 Mar 2008 16:00:40 +0000 (17:00 +0100)]
dss.ggo: Reorder options and help text.

11 years agoSwitch to gengetopt's group options and add more documentation.
Andre Noll [Sun, 16 Mar 2008 15:38:40 +0000 (16:38 +0100)]
Switch to gengetopt's group options and add more documentation.

11 years agodss.ggo: Change "text" to "details".
Andre Noll [Sun, 16 Mar 2008 13:54:03 +0000 (14:54 +0100)]
dss.ggo: Change "text" to "details".

This instructs gengetopt to generate also the --detailed-help
option, which is nice.

11 years agoInitial git checkin.
Andre Noll [Tue, 11 Mar 2008 20:00:54 +0000 (21:00 +0100)]
Initial git checkin.

Dyadic intervals are so harmonic. Do you feel it?