Return different error codes from fuse_main()
*
* Note: this is currently implemented as a macro.
*
+ * The following error codes may be returned from fuse_main():
+ * 1: Invalid option arguments
+ * 2: No mount point specified
+ * 3: FUSE setup failed
+ * 4: Mounting failed
+ * 5: Failed to daemonize (detach from session)
+ * 6: Failed to set up signal handlers
+ * 7: An error occured during the life of the file system
+ *
* @param argc the argument counter passed to the main() function
* @param argv the argument vector passed to the main() function
* @param op the file system operation
if (!opts.show_help &&
!opts.mountpoint) {
fprintf(stderr, "error: no mountpoint specified\n");
- res = 1;
+ res = 2;
goto out1;
}
fuse = fuse_new_31(&args, op, op_size, user_data);
if (fuse == NULL) {
- res = 1;
+ res = 3;
goto out1;
}
if (fuse_mount(fuse,opts.mountpoint) != 0) {
- res = 1;
+ res = 4;
goto out2;
}
if (fuse_daemonize(opts.foreground) != 0) {
- res = 1;
+ res = 5;
goto out3;
}
struct fuse_session *se = fuse_get_session(fuse);
if (fuse_set_signal_handlers(se) != 0) {
- res = 1;
+ res = 6;
goto out3;
}
res = fuse_loop_mt_32(fuse, &loop_config);
}
if (res)
- res = 1;
+ res = 7;
fuse_remove_signal_handlers(se);
out3: