03de1b9e0988295cdc412f4f3a9cf5d590922324
[bluesky.git] / bluesky / main.c
1 /* Blue Sky: File Systems in the Cloud
2  *
3  * Copyright (C) 2009  The Regents of the University of California
4  * Written by Michael Vrable <mvrable@cs.ucsd.edu>
5  *
6  * TODO: Licensing
7  */
8
9 #include <stdio.h>
10 #include <stdlib.h>
11 #include <inttypes.h>
12 #include <stdint.h>
13 #include <glib.h>
14
15 #include "bluesky-private.h"
16
17 /* Small test program for BlueSkyFS.  Doesn't do much useful. */
18
19 int main(int argc, char *argv[])
20 {
21     g_thread_init(NULL);
22
23     printf("BlueSkyFS starting...\n");
24
25     printf("  time = %"PRIi64"\n", bluesky_get_current_time());
26
27     BlueSkyFS *fs = bluesky_new_fs("export");
28
29     BlueSkyInode *root;
30     root = bluesky_new_inode(BLUESKY_ROOT_INUM, fs, BLUESKY_DIRECTORY);
31     root->nlink = 1;
32     root->mode = 0755;
33     bluesky_insert_inode(fs, root);
34
35     BlueSkyInode *file;
36     file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_REGULAR);
37     file->nlink = 1;
38     file->mode = 0755;
39     bluesky_insert_inode(fs, file);
40     bluesky_directory_insert(root, "foo", file->inum);
41
42     file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_REGULAR);
43     file->nlink = 1;
44     file->mode = 0755;
45     bluesky_insert_inode(fs, file);
46     bluesky_directory_insert(root, "bar", file->inum);
47
48     file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_REGULAR);
49     file->nlink = 1;
50     file->mode = 0755;
51     bluesky_insert_inode(fs, file);
52     bluesky_directory_insert(root, "baz", file->inum);
53
54     bluesky_directory_dump(root);
55     bluesky_directory_lookup(root, "foo");
56     bluesky_directory_lookup(root, "bar");
57     bluesky_directory_lookup(root, "baz");
58
59     return 0;
60 }