Hola, no entiendo el sentido de la evaluación en negrita
if (aux.usado == 0 || aux.tipo == 1)
return -1;
Qué sentido tiene? no estaría eliminando la posibilidad de buscar directorios? según letra la función:
int buscarInodo(ruta[]: char)
Debe retornar inodo de directorio/archivo, además al recorrer el array parte de sus elementos son directorios.Gracias!