Hablando de un bug en… ¿Windows?

Los debates sobre los sistemas de ficheros, el refresco de sus tablas lógicas, etc. son conocidos desde hace tiempo. Desde Microsoft, las alternativas han sido FAT, FAT32, NTFS, exFAT (con Vista SP1 para pendrives). Con Vista, nos prometió un sistema de ficheros nuevo, innovador, WinFS, que desgraciadamente no salió adelante. A pesar, de que ha dejado huella en productos como SQL Server 2008.

Al parecer, el bug que voy a comentar ya se producía desde FAT. Habría que comprobar si con el nuevo exFAT se puede replicar y si en sistemas libres también existe, pero todo apunta a que el problema es Windows y no el sistema de ficheros (o una mezcla explosiva de ambos).

Ahora bien, pasaré a detallar el bug, para que lo podáis replicar.

Estando en cualquier carpeta que contiene cualquier archivo, por ejemplo el siguiente:

clip_image002[1]

Si miramos la fecha de creación de dicho fichero será la siguiente:clip_image004[1]

Si procedemos a copiar dicho archivo en el mismo directorio:

clip_image006[1]

Y miramos las fechas de la copia de nuestro nuevo archivo, son las siguientes, como véis la fecha creación es la fecha de copia:

clip_image008[1]

Una vez en este punto, eliminamos el archivo original, quedandonos sólo con la copia:

clip_image010[1]

Y a este le cambiamos el nombre, al nombre del archivo original:

clip_image012[1]

Miramos la fecha:

clip_image014[1]

¡Y ésta es la del original!

Esto también pasa si nosotros eliminamos un archivo X de una carpeta, creamos un archivo cualquiera y le ponemos el nombre de X. Hilando más fino, y pasando más tiempo entre paso y paso, nos encontramos con que el cambio mágico de fechas. De ahí podemos deducir que el problema es el refresco de las tablas, que lo hace cada cierto tiempo X. El caso es que la solución no debería se refrescar con más frecuencia, pero si que podemos comprobar la consistencia de las fechas programáticamente.

http://eugenioestrada.es/blog

2 comentarios en “Hablando de un bug en… ¿Windows?”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *