[pyar] [Aporte] Para los que estan escribiendo proyectos.

Juan Carlos Ojeda juancarlospaco en gmail.com
Jue Oct 21 18:34:59 ART 2010


2010/10/21 Juan Carlos Ojeda <juancarlospaco en gmail.com>

>
>
> 2010/10/21 Facundo Batista <facundobatista en gmail.com>
>
>> 2010/10/21 Angel Freire <cuerty en gmail.com>:
>>
>>
>> > llegar a estar haciéndome trampa y cacheando, deciles que no me jodan
>> > y escriban físicamente al disco rígido". Tampoco garantiza nada, pero
>> > es una protección mas.
>>
>> Sino garantiza nada, entonces no te soluciona el problema de fondo,
>> que es que cuando grabás, quizás no grabó.
>>
>> Lo mismo puede pasar si se te corta la luz entre que hiciste
>> fh.close() y que llamaste al "sync".
>>
>> O peor, te puede pasar que se te corta la luz *a la mitad* del "sync".
>>
>> Entonces, la solución es soportar la situación, ya que no es evitable.
>>
>> O sea, usar fs.close(), y ser robusto con que la próxima el archivo
>> puede estar corrupto, o desactualizado (existen técnicas para lidiar
>> con este tipo de cosas, como la de, en lugar de grabar directamente a
>> foo, hacer mv foo foo.old, grabar en foo.new, y hacer mv foo.new foo,
>> pero no es la única).
>>
>> Slds.
>>
>> --
>> .    Facundo
>>
>> Blog: http://www.taniquetil.com.ar/plog/
>> PyAr: http://www.python.org/ar/
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>
> No.
>
> Si ejecutas sync se escriben realmente los datos al disco,
> con lo que los 15 Segundos DESPUES de ejecutar el sync tus datos estan a
> salvo en el disco.
>
> Si no ejecutas sync los 15 Segundos DESPUES tus datos estan en la RAM
> volatil.
>
> Por lo tanto no es Inutil.
>
> No se por que pusieron que sync es Peligroso en la wiki,
> lee el man de sync y vas a entender que al fsync de Python le hacen trampa.
> --
> .
>

juan en wind:~$ info coreutils 'sync invocation'

14.4 `sync': Synchronize data on disk with memory
=================================================

`sync' writes any data buffered in memory out to disk.  This can
include (but is not limited to) modified superblocks, modified inodes,
and delayed reads and writes.

The kernel keeps data in memory to avoid doing (relatively slow) disk
reads and writes.  This improves performance, but if the computer
crashes, data may be lost or the file system corrupted as a result.
The `sync' command ensures everything in memory is written to disk.


Donde dice que es Peligroso?, te asegura tus datos por esos segundos por las
dudas tus datos esten en delayed write.

Si lo que dice ahi esta mal, por favor avisenme asi reporto un Bug en
coreutils.
Saludos

-- 
.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101021/c963e4b4/attachment.html>


More information about the pyar mailing list