Estoy viendo un problema extraño al implementar la funcionalidad readdir() en el fusible. Básicamente cuando lo haga 'ls' en cualquier directorio en el fusible, me sale un error como:readdir de fusible devuelve error de entrada/salida
ls
ls: directorio de lectura:. Error de entrada/salida
Archivo1.c Archivo2.c
Pero lo extraño es que readdir está haciendo exactamente lo que se supone que debe hacer. En el sentido de que en ese directorio en particular, tengo dos archivos llamados 'archivo1.c' y 'archivo2.c' y es capaz de leerlo correctamente.
Mientras se depura el tema me di cuenta de que la función de fusible 'relleno' ('fuse_fill_dir_t' pasa como argumento a readdir()) es lo que puede ser la causa de este error.
Esto se debe a que si simplemente imprimo los contenidos del directorio utilizando una impresión de depuración sin devolver los contenidos utilizando la función de relleno, no veo el error.
Pero apenas empiezo a usar la función de relleno para devolver el contenido, empiezo a ver este error.
tengo dos preguntas relacionadas con esta:
1) Alguien tiene alguna idea de por qué la función de relleno podría estar causando este problema?
2) ¿Cómo busco la definición del código para la función fuse_fill_dir_t? He revisado la mayoría de las funciones de fusibles con ese tipo de argumentos, pero no he tenido suerte hasta ahora.
¡Se agradece cualquier ayuda!
Saludos, Vinay
Tengo la misma pregunta en OS X. –