Esempio n. 1
0
int main(int argc, char *argv[]) 
{
        int i, fuse_stat;
        
        qosfs_oper.getattr = wrap_getattr;
        qosfs_oper.readlink = wrap_readlink;
        qosfs_oper.getdir = NULL;
        qosfs_oper.mknod = wrap_mknod;
        qosfs_oper.mkdir = wrap_mkdir;
        qosfs_oper.unlink = wrap_unlink;
        qosfs_oper.rmdir = wrap_rmdir;
        qosfs_oper.symlink = wrap_symlink;
        qosfs_oper.rename = wrap_rename;
        qosfs_oper.link = wrap_link;
        qosfs_oper.chmod = wrap_chmod;
        qosfs_oper.chown = wrap_chown;
        qosfs_oper.truncate = wrap_truncate;
        qosfs_oper.utime = wrap_utime;
        qosfs_oper.open = wrap_open;
        qosfs_oper.read = wrap_read;
        qosfs_oper.write = wrap_write;
        qosfs_oper.statfs = wrap_statfs;
        qosfs_oper.flush = wrap_flush;
        qosfs_oper.release = wrap_release;
        qosfs_oper.fsync = wrap_fsync;
        qosfs_oper.setxattr = wrap_setxattr;
        qosfs_oper.getxattr = wrap_getxattr;
        qosfs_oper.listxattr = wrap_listxattr;
        qosfs_oper.removexattr = wrap_removexattr;
        qosfs_oper.opendir = wrap_opendir;
        qosfs_oper.readdir = wrap_readdir;
        qosfs_oper.releasedir = wrap_releasedir;
        qosfs_oper.fsyncdir = wrap_fsyncdir;
        qosfs_oper.init = wrap_init;

        printf("[QoSFS] Mounting QoSFS ...\n");
        
        for(i = 1; i < argc && (argv[i][0] == '-'); i++) 
        {
                if(i == argc) 
                {        
                        return (-1);
                }
        }

        set_rootdir(realpath(argv[i], NULL));

        for(; i < argc; i++) 
        {
                argv[i] = argv[i+1];
        }
        argc--;

        fuse_stat = fuse_main(argc, argv, &qosfs_oper, NULL);

        printf("[QoSFS] fuse_main returned %d\n", fuse_stat);

        return fuse_stat;
}
Esempio n. 2
0
int main(int argc, char *argv[]) {
	int i, fuse_stat;

	examplefs_oper.getattr = wrap_getattr;
	examplefs_oper.readlink = wrap_readlink;
	examplefs_oper.getdir = NULL;
	examplefs_oper.mknod = wrap_mknod;
	examplefs_oper.mkdir = wrap_mkdir;
	examplefs_oper.unlink = wrap_unlink;
	examplefs_oper.rmdir = wrap_rmdir;
	examplefs_oper.symlink = wrap_symlink;
	examplefs_oper.rename = wrap_rename;
	examplefs_oper.link = wrap_link;
	examplefs_oper.chmod = wrap_chmod;
	examplefs_oper.chown = wrap_chown;
	examplefs_oper.truncate = wrap_truncate;
	examplefs_oper.utime = wrap_utime;
	examplefs_oper.open = wrap_open;
	examplefs_oper.read = wrap_read;
	examplefs_oper.write = wrap_write;
	examplefs_oper.statfs = wrap_statfs;
	examplefs_oper.flush = wrap_flush;
	examplefs_oper.release = wrap_release;
	examplefs_oper.fsync = wrap_fsync;
	examplefs_oper.setxattr = wrap_setxattr;
	examplefs_oper.getxattr = wrap_getxattr;
	examplefs_oper.listxattr = wrap_listxattr;
	examplefs_oper.removexattr = wrap_removexattr;
	examplefs_oper.opendir = wrap_opendir;
	examplefs_oper.readdir = wrap_readdir;
	examplefs_oper.releasedir = wrap_releasedir;
	examplefs_oper.fsyncdir = wrap_fsyncdir;
	examplefs_oper.init = wrap_init;

	printf("mounting file system...\n");
/*
        if(argc<6){
		printf("Usage: ./examplefs rootDir mountDir cacheDir -f -s\n");
	}*/
	for(i = 1; i < argc && (argv[i][0] == '-'); i++) {
		if(i == argc) {
			return (-1);
		}
	}

	//realpath(...) returns the canonicalized absolute pathname
	set_rootdir(realpath(argv[i], NULL));

        set_cachedir(realpath(argv[i+4],NULL));

	for(; i < argc-1; i++) {
                
		argv[i] = argv[i+1];
	}
	argc--;argc--;

	fuse_stat = fuse_main(argc, argv, &examplefs_oper, NULL);

	printf("fuse_main returned %d\n", fuse_stat);

	return fuse_stat;
}