Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

RSYNC en Windows, previo a 2.4.6, y "modify-window"

Última Actualización: 3 de Noviembre de 2.000 - Viernes

MSDOS y Windows (sobre FAT) tienen una precisión en la fecha de los ficheros de dos segundos. Ello hace que cuando una máquina con FAT se sincroniza con un servidor UNIX, la mitad de los ficheros se graben con una fecha incorrecta en un segundo, lo que ocasiona que en la siguiente sincronización se vuelvan a revisar (la fecha local no coincidirá con la remota).

Para solucionar este problema, la versión 2.4.6 de RSYNC dispone de un nuevo flag, "modify-window", que permite indicar, en el cliente, la "tolerancia". Desgraciadamente, la versión de RSYNC para Windows que estamos empleando en Argo es antigua y no dispone de dicho flag.

La solución consiste, entonces, en modificar el servidor de forma que transmita las fechas ya "ajustadas". Naturalmente, se trata de un parche "provisional", a la espera de que los clientes Windows actualicen a 2.4.6 o superior.

Index: flist.c
===================================================================
RCS file: /opt/src/cvsroot/rsync/flist.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.1.3.2.3
diff -c -r1.1.1.3 -r1.1.1.3.2.3
*** flist.c     2000/10/11 10:38:26     1.1.1.3
--- flist.c     2000/11/03 14:57:53     1.1.1.3.2.3
***************
*** 244,249 ****
--- 244,262 ----
                return;
        }
  
+ /*
+ ** jcea@argo.es - 03/Nov/2000
+ ** Solucionamos el problema
+ ** con los clientes antiguos de
+ ** Windows que no soportan el "modify-window".
+ **
+ ** Truncamos el tiempo enviado a
+ ** multiplos de 4 segundos.
+ */
+         if (am_server) {
+                 file->modtime=(file->modtime/4)*4;
+         }
+ 
        fname = f_name(file);
  
        flags = base_flags;



Python Zope ©2000 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS