X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=snap.h;h=5c2f20b2885e19919afabff1369908fdb6c5bf18;hb=9b972ea107540e54633b0e94dec210a6e1649f8d;hp=063a38e2497f86eba22416679fc4b37137f2d94e;hpb=b8c18ccfb0dbe89c9a35d4989cd506b8461ea850;p=dss.git diff --git a/snap.h b/snap.h index 063a38e..5c2f20b 100644 --- a/snap.h +++ b/snap.h @@ -1,32 +1,32 @@ /* - * Copyright (C) 2008 Andre Noll + * Copyright (C) 2008-2009 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ -/** The state of snapshot creation. */ -enum { +/** The possible states for snapshot creation/removal. */ +enum hook_status { /** We are ready to take the next snapshot. */ - SCS_READY, - /** The pre-creation hook has been started. */ - SCS_PRE_HOOK_RUNNING, - /** The pre-creation hook exited successfully. */ - SCS_PRE_HOOK_SUCCESS, - /** The rsync process is running. */ - SCS_RSYNC_RUNNING, - /** The rsync process exited successfully. */ - SCS_RSYNC_SUCCESS, - /** The rsync process needs to be restarted. */ - SCS_RSYNC_NEEDS_RESTART, - /** The post-create hook has been started. */ - SCS_POST_HOOK_RUNNING, + HS_READY, + /** The pre-create/pre-remove hook has been started. */ + HS_PRE_RUNNING, + /** The pre-create/pre-remove hook exited successfully. */ + HS_PRE_SUCCESS, + /** The rsync/rm process is running. */ + HS_RUNNING, + /** The rsync/rm process exited successfully. */ + HS_SUCCESS, + /** The rsync/rm process needs to be restarted. */ + HS_NEEDS_RESTART, + /** The post-create/post-remove hook has been started. */ + HS_POST_RUNNING, }; /** * The status of a snapshot. * * The snapshot directories come in four different flavours, depending - * on how the two staus flags are set. Examples: + * on how the two status flags are set. Examples: * * Complete, not being deleted: 1204565370-1204565371.Sun_Mar_02_2008_14_33-Sun_Mar_02_2008_14_43. * Complete, being deleted: 1204565370-1204565371.being_deleted. @@ -40,7 +40,7 @@ enum snapshot_status_flags { SS_BEING_DELETED = 2, }; -/** Desribes one snapshot */ +/** Describes one snapshot. */ struct snapshot { /** The name of the directory, relative to the destination dir. */ char *name; @@ -48,7 +48,7 @@ struct snapshot { int64_t creation_time; /** * Seconds after the epoch when creation of this snapshot completed. - * Only meaningful if the SS_COMPLTE bit is set. + * Only meaningful if the SS_COMPLETE bit is set. */ int64_t completion_time; /** See \ref snapshot_status_flags. */ @@ -90,11 +90,11 @@ int complete_name(int64_t start, int64_t end, char **result); __malloc char *name_of_newest_complete_snapshot(struct snapshot_list *sl); /** - * Get the oldest snapshot in a snapshot list. + * Get the newest snapshot in a snapshot list. */ -_static_inline_ struct snapshot *get_oldest_snapshot(struct snapshot_list *sl) +_static_inline_ struct snapshot *get_newest_snapshot(struct snapshot_list *sl) { if (!sl->num_snapshots) return NULL; - return sl->snapshots[0]; + return sl->snapshots[sl->num_snapshots - 1]; }