sisoputnfrba / foro

Foro de consultas para el trabajo práctico
151 stars 7 forks source link

Fuse input/output error al hacer ls y cd #1561

Closed mari967 closed 4 years ago

mari967 commented 4 years ago

Hola, soy yo de nuevo :p

Estoy teniendo dificultades para poder ver el punto de montaje (mount). Cuando hago ls en la carpeta que contiene a mount me sale esto utnso@ubuntu-server:~/Escritorio$ ls ls: cannot access 'mount': Input/output error apuntes Eclipse SUSE mount tp-2019-2c-UwUntu

Luego de la palabra error puedo ver la carpeta mount junto con mis otras carpeta.

Al hacer un cd a mount sale lo siguiente utnso@ubuntu-server:~/Escritorio$ cd mount bash: cd: mount: Input/output error

Por otro lado, la información de debug de fuse muestra esto

utnso@ubuntu-server:~/Escritorio/tp-2019-2c-UwUntu$ ./sac-cli ../mount -d FUSE library version: 2.9.4 nullpath_ok: 0 nopath: 0 utime_omit_ok: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.23 flags=0x0003fffb max_readahead=0x00020000 INIT: 7.19 flags=0x00000011 max_readahead=0x00020000 max_write=0x00020000 max_background=0 congestion_threshold=0 unique: 1, success, outsize: 40 unique: 2, opcode: ACCESS (34), nodeid: 1, insize: 48, pid: 2814 access / 04 [INFO] 16:06:54:939 SAC-CLI/(20491:20494): ACCESs: SAC está pidiendo acceso a un archivo

[INFO] 16:06:54:939 SAC-CLI/(20491:20494): OPEN: SAC está abriendo un archivo

[INFO] 16:06:54:940 SAC-CLI/(20491:20494): ip del servidor : 0.0.0.0

[INFO] 16:06:54:954 SAC-CLI/(20491:20494): Conectado a SAC-SERVER **** pedido operación: /

Código de operación : 8 cod. de DESCRIBIR: 24

unique: 3, opcode: OPENDIR (27), nodeid: 1, insize: 48, pid: 2761 opendir flags: 0x18800 / [INFO] 16:06:54:965 SAC-CLI/(20491:20495): ip del servidor : 0.0.0.0

[INFO] 16:06:54:966 SAC-CLI/(20491:20495): Conectado a SAC-SERVER **** pedido operación: /

Código de operación : 8 cod. de DESCRIBIR: 24

unique: 4, opcode: LOOKUP (1), nodeid: 1, insize: 57, pid: 20497

[INFO] 16:06:54:967 SAC-CLI/(20491:20494): DESDE SAC-ABRIR: buffer es:

El archivo fue abierto exitosamente. El nro de nodo es 0 unique: 2, success, outsize: 16 LOOKUP /.xdg-volume-info getattr /.xdg-volume-info

[INFO] 16:06:54:968 SAC-CLI/(20491:20500): ip del servidor : 0.0.0.0

[INFO] 16:06:54:969 SAC-CLI/(20491:20500): Conectado a SAC-SERVER **** pedido operación: /.xdg-volume-info

quiero describir /.xdg-volume-info y entré al switch, con tam_msj : 17

Path del getattr: /.xdg-volume-info Falló el geattr unique: 4, error: -2 (No such file or directory), outsize: 16 unique: 5, opcode: LOOKUP (1), nodeid: 1, insize: 52, pid: 20496 LOOKUP /autorun.inf getattr /autorun.inf

[INFO] 16:06:54:971 SAC-CLI/(20491:20494): ip del servidor : 0.0.0.0

[INFO] 16:06:54:972 SAC-CLI/(20491:20494): Conectado a SAC-SERVER **** pedido operación: /autorun.inf

quiero describir /autorun.inf y entré al switch, con tam_msj : 12 [INFO] 16:06:54:977 SAC-CLI/(20491:20494): DESDE PEDIR OPERACIÓN: estado : 1 tamaño 4

Path del getattr: /autorun.inf Falló el geattr unique: 5, error: -2 (No such file or directory), outsize: 16 unique: 6, opcode: LOOKUP (1), nodeid: 1, insize: 47, pid: 2814 LOOKUP /.Trash getattr /.Trash [INFO] 16:06:54:978 SAC-CLI/(20491:20502): ip del servidor : 0.0.0.0

[INFO] 16:06:54:978 SAC-CLI/(20491:20502): Conectado a SAC-SERVER **** pedido operación: /.Trash

quiero describir /.Trash y entré al switch, con tam_msj : 7

[INFO] 16:06:54:987 SAC-CLI/(20491:20502): DESDE PEDIR OPERACIÓN: estado : 1 tamaño 4

Path del getattr: /.Trash Falló el geattr unique: 6, error: -2 (No such file or directory), outsize: 16 unique: 7, opcode: LOOKUP (1), nodeid: 1, insize: 52, pid: 2814 LOOKUP /.Trash-1000 getattr /.Trash-1000 [INFO] 16:06:54:988 SAC-CLI/(20491:20500): ip del servidor : 0.0.0.0

[INFO] 16:06:54:988 SAC-CLI/(20491:20500): Conectado a SAC-SERVER **** pedido operación: /.Trash-1000

quiero describir /.Trash-1000 y entré al switch, con tam_msj : 12

[INFO] 16:06:54:994 SAC-CLI/(20491:20500): DESDE PEDIR OPERACIÓN: estado : 1 tamaño 4

Path del getattr: /.Trash-1000 Falló el geattr unique: 7, error: -2 (No such file or directory), outsize: 16


ACÁ HICE UN ls A LA CARPETA QUE TIENE DENTRO AL PUNTO DE MONTAJE

unique: 8, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 20519 getattr / [INFO] 16:07:15:715 SAC-CLI/(20491:20494): ip del servidor : 0.0.0.0

[INFO] 16:07:15:717 SAC-CLI/(20491:20494): Conectado a SAC-SERVER **** pedido operación: /

quiero describir / y entré al switch, con tam_msj : 1

[INFO] 16:07:15:727 SAC-CLI/(20491:20494): DESDE PEDIR OPERACIÓN: estado : 0 tamaño 4

[INFO] 16:07:15:727 SAC-CLI/(20491:20494): DESDE SAC-DESCRIBIR: buffer es:

Path del getattr: / Se hizo el getattr GETATTR: fecha cración: 1575486412 fecha modif : 1575486412 tam archivo: 0 [INFO] 16:07:15:728 SAC-CLI/(20491:20494): GETATTR fue llamado con el path /

unique: 8, success, outsize: 120


ACÁ HICE UN cd AL PUNTO DE MONTAJE y no salió nada...

Las preguntas que tengo son ¿A qué se debe este tipo de error? ¿Qué funciones de fuse son importantes para poder hacer un cd y un ls al punto de montaje?

Leí que esto podría deberse a la falta de funcoinalidades, las funciones que tengo agregadas son estas ¿Son suficientes y todas necesárias?

`struct fuse_operations sac_cli_operations = {

.mknod = sac_mknod,
.utimens = sac_utimens,
.open = sac_open,
.access = sac_access,
.write = sac_write,
.read = sac_read,
.unlink = sac_unlink, //borrar
.getattr = sac_getattr,
.getxattr = sac_getxattr,
.mkdir = sac_mkdir,
.rmdir = sac_rmdir,
.opendir = sac_opendir,
.readdir = sac_readdir, //listar dir
//release
.releasedir = sac_releasedir, //IMPORTANTE
.truncate = sac_truncate,
//.rename = bb_rename,

}; `

mesaglio commented 4 years ago

Mi primera recomendacion es que el comando para correr sac-cli sea: ./sac-cli mount_directory -f -d -s Los argumentos del comando son para:

Como esta indicado en so-fuse-example.

Ya que vas a usar el output del debuger de fuse, no hace falta que tengas un logg. Con entender lo que hace fuse te vas a dar cuenta.

Las operaciones que hace un ls por atras son:

Las operaciones que hace un cd por atras son:

Despues de hacerle el cd, podes hacer otro ls y recibe algo fuse?? o se queda bloqueado??

tferraro commented 4 years ago

@mari967 pudiste con eso?

tferraro commented 4 years ago

Buenas! Cierro por inactividad. Cualquier cosa se abre de nuevo :D