Comportamiento extraño de samba y gvfs: ~ la mitad de los directorios/archivos parecen "faltar" aleatoriamente

Comportamiento extraño de samba y gvfs: ~ la mitad de los directorios/archivos parecen "faltar" aleatoriamente

La situación:Servidor con Gentoo Linux y Samba. Hay alrededor de 15 PC con Windows, una MacBook Pro y una computadora portátil Samsung con Ubuntu. No hay ningún dominio, sólo un grupo de trabajo y el servidor se utiliza sólo para recursos compartidos de Samba. En Ubuntu uso gvfs para montar recursos compartidos de samba.

Y el problema:Un día, alrededor de la mitad de los directorios desaparecieron, pero sólo cuando se visualizaban en esta computadora portátil Ubuntu. Si me conecto por ssh al servidor, puedo ver los archivos/directorios que faltan y también puedo ver las cosas que faltan en las computadoras win o mac.

La fijación temporal:Cuando cambio el nombre de algunos de los directorios que faltan, incluso si es un símbolo, los directorios que faltan reaparecen... incluso sin recargar/actualizar el recurso compartido montado en gvfs. Si cambio el nombre instantáneamente a los directorios/nombres de archivos anteriores, todos los directorios/archivos que faltaban anteriormente desaparecen instantáneamente nuevamente.

Entonces, como este problema reapareció nuevamente aproximadamente un mes después, me vendrían bien algunos consejos sobre dónde comenzar a verificar.

Respuesta1

Es posible que haya experimentado un problema similar, pero solo falta un archivo. Sospecho que el asistente de montaje de Linux Samba es problemático.

¿Podría ejecutar las siguientes pruebas en su cliente?

cd [dir-con-subdirectorios-faltantes]

ls-al | grep [nombre faltante] -> no se encontró nada (readdir está roto)
ls -al [nombre faltante] -> enumera el elemento (estadísticas en funcionamiento) - use -d cuando [nombre faltante] sea un directorio

Para saber si el kernel le oculta esos archivos:

desmontar smb-share
inicie "tcpdump -p -i [su NIC] -s0 -w net.dump host [su host samba]"
montar la acción
ejecute la prueba "ls -al | grep [nombre faltante]"
detener tcpdump
Verifique que el nombre del archivo esté en tcpdump, pero no se muestre en dirlisting. Por lo tanto:
cadenas --encoding=b net.dump | grep [nombre faltante]
cadenas --encoding=l net.dump | grep [nombre faltante]

Si el nombre se incluye al menos una vez, eso indicaría que el servidor Samba está enviando la lista completa, pero Linux descarta algunas entradas.

información relacionada