Me gustaría construir una aplicación de sistema de archivos under-based FUSE, en Java. Hay algunas bibliotecas de enlaces disponibles en la web, Fuse-J, jnetfs, Fuseforjava, javafuse.¿Alguna posibilidad de que javafuse pueda funcionar?
Ninguno de ellos parece realmente vivo hasta el día de hoy, así que le di mi primer intento al JavaFuse
.
La interfaz debemos poner en práctica está ahí: http://code.google.com/p/javafuse/source/browse/fs/JavaFS.java
y quería reproducir este fuse helloworld example.
Pregunta: ¿Hay alguna posibilidad de que este:
static int hello_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
off_t offset, struct fuse_file_info *fi)
{
(void) offset;
(void) fi;
if(strcmp(path, "/") != 0)
return -ENOENT;
filler(buf, ".", NULL, 0);
filler(buf, "..", NULL, 0);
filler(buf, hello_path + 1, NULL, 0);
return 0;
}
puede ser implementado por esta función java:
public int readdir_pre(String path, long buf, long filler, int offset, Fuse_file_info info);
public int readdir_post(String path, long buf, long filler, int offset, Fuse_file_info info, int result);
Tal vez me haya perdido algo, pero no puedo ver cómo utilizar filler
para poblar el contenido del directorio ...
Hay otras rarezas sólo para este ejemplo holamundo, como:
public int read_post(String path, String buf, int size, int offset, Fuse_file_info info, int result);
que es supone que rellenebuf
con size
bytes de datos, mientras que Java String
se supone que son inmutables.
Sugestión con https://github.com/EtiennePerot/fuse-jna – user629926
sí, parece interesante. Pero ya cambié a [JNetFs] (https://code.launchpad.net/jnetfs) que respondió a todos mis requisitos hasta el momento. (aunque todavía faltan algunos enlaces en la biblioteca C, tuve que vincularlos yo mismo) – Kevin
+1 por tener una lista de implementaciones FUSE-Java. –