(unsigned long long) st->lafs->seq);
}
+/****** WRITE_CHECKPOINT ******/
+static char help_write_checkpoint[] = "Write a checkpoint with all committed blocks";
+static struct args args_write_checkpoint[] = {
+ TERMINAL_ARG
+};
+static void c_write_checkpoint(struct state *st, void **args)
+{
+ if (st->lafs->blocksize == 0)
+ printf("write checkpoint: filesystem is not initialised\n");
+ else if (st->lafs->devs == NULL)
+ printf("write checkpoint: No devices exist to write to\n");
+ else if (st->lafs->free_head == st->lafs->free_tail)
+ printf("write checkpoint: No free segments - try find_free\n");
+ else if (lafs_checkpoint(st->lafs))
+ printf("write state: Error writing checkpoint\n");
+ else if (st->verbose)
+ printf("Checkpoint written: seq now %llu\n",
+ (unsigned long long) st->lafs->seq);
+}
+
/****** STORE ******/
static char help_store[] = "Create a file in the LaFS from an external file";
static struct args args_store[] = {
CMD(quit),
CMD(reset),
CMD(store),
+ CMD(write_checkpoint),
CMD(write_dev),
CMD(write_state),
{ NULL, NULL, NULL, NULL}