Wince 6.0 corrupción del sistema de archivos: los directorios parecen estar recuperándose

Tenemos un dispositivo personalizado Wince 6.0 R2 maduro que es capaz de descargar archivos a través de WiFi y almacenarlos en una partición del sistema de archivos NAND flash FAT. Esto se ha estado ejecutando en más de 15000 dispositivos en todo el mundo durante más de un año, pero recientemente en algunos sistemas de prueba para nuevas versiones de software y sistema operativo, hemos estado viendo algunas corrupciones del sistema de archivos donde un directorio en particular parece tener un enlace recursivo a el nivel superior \ contenido Flash. En particular, tenemos un directorio \ Flash \ Manifest que incluye un subdirectorio llamado GCMaps. Normalmente, contiene una serie de imágenes de mapas, pero cuando se daña, también incluye todos los archivos y subdirectorios \ Flash de alto nivel en un bucle recursivo aparente, por ejemplo, \ Flash \ Manifest \ GCMaps \ program.exe y \ Flash \ Manifest \ GCMaps \ Manifest \ GCMaps \ Manifest ...

Siempre es el mismo directorio el que tiene el problema, y ​​está sucediendo en varios dispositivos en nuestro bastidor de prueba, aunque muchos de nuestros dispositivos de prueba no se ven afectados por completo. Puedo reparar temporalmente los dispositivos afectados reformateando la partición del sistema de archivos o borrando todo el dispositivo flash, volviendo a particionar, volviendo a actualizar el sistema operativo y recreando el sistema de archivos. Pero los dispositivos afectados continúan desarrollando la corrupción en un par de días.

Pruebas recientes han demostrado que el sistema de archivos permanece intacto después de cambiar los archivos de manifiesto varias veces, pero luego tenemos un reinicio automático a la medianoche y, al reiniciar, algunos de los dispositivos afectados presentan el problema.

Lo extraño es que no hemos cambiado recientemente ninguna de las lógicas de integración o descarga del manifiesto, ni nada que tenga nada que ver con GCMaps. Un cambio importante que hice recientemente fue eliminar el Shell de Windows y ejecutar nuestros dispositivos en "Modo quiosco", siendo nuestras aplicaciones la única interfaz de usuario.

¿Alguien ha encontrado este tipo de corrupción de directorio recursiva en CE antes, y si es así, encontró una solución? ¿Hay alguna razón por la que quitar el caparazón podría haber causado esto? ¡Cualquier sugerencia o información será apreciada!

Gracias, Rich Jones

preguntado el 28 de septiembre de 11 a las 06:09

Soy escéptico de que este sea un problema de descarga, ya que no me faltan archivos y los archivos no se corrompen. En cambio, obtengo una referencia circular de la estructura del directorio que siempre ocurre en un subdirectorio en particular. ¿Es posible que FAT se dañe durante una lectura? Eso es todo lo que estamos haciendo con los archivos en ese directorio en particular cuando ocurre la corrupción. -

si desea agregar algo a su pregunta, edítela en lugar de publicar un comentario. -

1 Respuestas

FAT es propenso a la corrupción si no vacía los búferes del sistema de archivos antes de reiniciar (o si apaga el dispositivo a la fuerza). Esto se aplica tanto a las PC como a otros dispositivos que usan FAT. Así que probablemente sea el reinicio lo que cause el problema. La eliminación de shell puede estar relacionada o no; es posible que shell realice algunas descargas periódicamente y esto le salvó del problema anterior.

Respondido el 28 de Septiembre de 11 a las 10:09

¡Gracias por el aporte! Me olvidé de mencionar que el tiempo entre las últimas escrituras y los reinicios es de muchas horas, por lo que no creo que los búferes del sistema de archivos aún no se hayan descargado, a menos que el shell sea responsable de eso anteriormente, como señaló. Ciertamente agregaré un vaciado forzado, aunque también había visto una sugerencia para establecer "EnableCache" en "0" en HKEY_LOCAL_MACHINE \ System \ StorageManager \ FATFS para suprimir el almacenamiento en caché por completo. ¿Alguien sabe si esto es una buena idea? - rjones54

@ rjones54 Con respecto a la desactivación de la caché, debe medir el rendimiento porque la respuesta depende de sus escenarios de uso. - Devolución de llamada de Eugene Mayevski

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.