コード例 #1
0
ファイル: rmsnap.c プロジェクト: MattDooner/freebsd-west
int
nandfs_rmsnap(int argc, char **argv)
{
	struct nandfs fs;
	uint64_t cpno;
	int error;

	if (argc != 2) {
		rmsnap_usage();
		return (EX_USAGE);
	}

	cpno = strtoll(argv[0], (char **)NULL, 10);
	if (cpno == 0) {
		fprintf(stderr, "%s must be a number greater than 0\n",
		    argv[0]);
		return (EX_USAGE);
	}

	nandfs_init(&fs, argv[1]);
	error = nandfs_open(&fs);
	if (error == -1) {
		fprintf(stderr, "nandfs_open: %s\n", nandfs_errmsg(&fs));
		goto out;
	}

	error = nandfs_delete_snap(&fs, cpno);
	if (error == -1)
		fprintf(stderr, "nandfs_delete_snap: %s\n", nandfs_errmsg(&fs));

out:
	nandfs_close(&fs);
	nandfs_destroy(&fs);
	return (error);
}
コード例 #2
0
ファイル: mksnap.c プロジェクト: coyizumi/cs111
int
nandfs_mksnap(int argc, char **argv)
{
	struct nandfs fs;
	uint64_t cpno;
	int error;

	if (argc != 1) {
		mksnap_usage();
		return (EX_USAGE);
	}

	nandfs_init(&fs, argv[0]);
	error = nandfs_open(&fs);
	if (error == -1) {
		fprintf(stderr, "nandfs_open: %s\n", nandfs_errmsg(&fs));
		goto out;
	}

	error = nandfs_make_snap(&fs, &cpno);
	if (error == -1)
		fprintf(stderr, "nandfs_make_snap: %s\n", nandfs_errmsg(&fs));
	else
		printf("%jd\n", cpno);

out:
	nandfs_close(&fs);
	nandfs_destroy(&fs);
	return (error);
}