- fsync(fd);
- close(fd);
- hide_file(jib_fname);
-
- start_block = get_start_block(jib_fname, block_size);
- if (start_block == (off_t)-1) {
- fprintf(stderr, "Failed to get start block for %s (%s)\n",
- jib_fname, strerror(errno));
- unlink(journal_fname);
- unlink(jib_fname);
- return 20;
- }
- jinfo_block = (start_block / block_size) - (embedded_offset / block_size);
-
-
- //
- // Now make the volume journaled!
- //
- memset(sysctl_info, 0, sizeof(sysctl_info));
- sysctl_info[0] = CTL_VFS;
- sysctl_info[1] = sfs.f_fsid.val[1];
- sysctl_info[2] = HFS_ENABLE_JOURNALING;
- sysctl_info[3] = jinfo_block;
- sysctl_info[4] = jstart_block;
- sysctl_info[5] = journal_size;
-
- //printf("fs type: 0x%x\n", sysctl_info[1]);
- //printf("jinfo block : 0x%x\n", jinfo_block);
- //printf("jstart block: 0x%x\n", jstart_block);
- //printf("journal size: 0x%x\n", journal_size);
-
- ret = sysctl((void *)sysctl_info, 6, NULL, NULL, NULL, 0);
- if (ret != 0) {
- fprintf(stderr, "Failed to make volume %s journaled (%s)\n",
- volname, strerror(errno));
- unlink(journal_fname);
- unlink(jib_fname);
- return 20;
- }
-
- return 0;
+
+ //
+ // Now make the volume journaled!
+ //
+ memset(sysctl_info, 0, sizeof(sysctl_info));
+ sysctl_info[0] = CTL_VFS;
+ sysctl_info[1] = sfs.f_fsid.val[1];
+ sysctl_info[2] = HFS_ENABLE_JOURNALING;
+ sysctl_info[3] = jinfo_block;
+ sysctl_info[4] = jstart_block;
+ sysctl_info[5] = journal_size;
+
+ //printf("fs type: 0x%x\n", sysctl_info[1]);
+ //printf("jinfo block : 0x%x\n", jinfo_block);
+ //printf("jstart block: 0x%x\n", jstart_block);
+ //printf("journal size: 0x%x\n", journal_size);
+
+ ret = sysctl((void *)sysctl_info, 6, NULL, NULL, NULL, 0);
+ if (ret != 0) {
+ fprintf(stderr, "Failed to make volume %s journaled (%s)\n",
+ volname, strerror(errno));
+ unlink(journal_fname);
+ unlink(jib_fname);
+ return 20;
+ }
+
+ return 0;