- root = bluesky_new_inode(BLUESKY_ROOT_INUM, BLUESKY_DIRECTORY);
- root->nlink = 1;
- root->mode = 0755;
- bluesky_insert_inode(fs, root);
-
- svc_run ();
- fprintf (stderr, "%s", "svc_run returned");
- exit (1);
- /* NOTREACHED */
+ root = bluesky_get_inode(fs, BLUESKY_ROOT_INUM);
+ if (root == NULL) {
+ printf("Initializing fresh root inode...\n");
+ root = bluesky_new_inode(BLUESKY_ROOT_INUM, fs, BLUESKY_DIRECTORY);
+ root->nlink = 1;
+ root->mode = 0755;
+ bluesky_insert_inode(fs, root);
+ }
+
+ svc_run();
+ fprintf(stderr, "%s", "svc_run returned");
+ exit(1);