[Gelistirici] pisi tarZ desteği
Faik Uygur
faik at pardus.org.tr
14 Haz 2010 Pzt 10:44:26 EEST
13 Haziran 2010 Pazar günü (saat 16:04:58) Fatih Aşıcı şunları yazmıştı:
> On Sunday 13 June 2010 15:44:55 Gürer Özen wrote:
> > Belki dikkate almışsınızdır ama bir uyarı yapayım. Eğer bir dosyayı
> > arşivden direk hedefine çıkartırsak, o dosyayı o anda kullanmakta olan
> > tüm süreçleri kırıyoruz. Yani bu şekilde update yaparken servisler,
> > desktop, hatta pisinin kendisi bile (mesela system.base den python yada
> > libgzip falan güncellerken) crash ediyor.
> >
> > Çözüm için yeni dosyanın farklı bi inode ile oluşmasını sağlamak lazım.
> > Bunun için bir yol önce hedef dosyayı unlink() edip silmek (bu dosyayı o
> > anda açmış süreçleri etkilemiyor) ve yeni dosyayı yerine yazmak.
>
> Yapacağım değişikliklerin buna bir etkisi yok. Sonuçta yine tarfile
> kullanıldığı için o senaryoyu dikkate alan kısım durmaya devam edecek.
>
> > Daha
> > güvenli olan ise hedef dosyayı önce bir geçici dosyaya yazmak, sonra ise
> > asıl yerine move etmek. Bunun avantajı eski dosyayı silmeden önce yeni
> > dosyanın tümünü arşivden çıkarmış olacağımız için, mesela arşivde bir
> > sorun varsa yarım dosya kalmasının önüne geçmiş oluyoruz. Aklımda kaldığı
> > kadarıyla şu anki önce temp bir yere açma sebebi de buydu.
>
> Denemek lazım. Performansa etkisi olup olmadığını merak ediyorum.
Gürer'in dediği önemli bir sorun, dikkat etmek lazım.
Burada düzeltilmişti diye hatırlıyorum:
svn diff -r7911:7914 archive.py
- Faik
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi