Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: iztrivane


  • Subject: Re: lug-bg: iztrivane
  • From: Nikolay Mitev <nikolaymitev@xxxxxxx>
  • Date: Thu, 29 Apr 2004 18:05:00 +0300

Anton Zinoviev wrote:

На 25.IV.2004 в 13:00 (+0300) часа Romeo Ninov писа:
имам малко шантава идеа. проблема е че тя работи само ако се логват малки файлове (не както syslog-a)
mv -f olddir newdir && mkdir olddir
rm -rf newdir

Хм, това ми изглежда доста добра идея.  Какъв е проблемът при големи
файлове?  При Unix не е проблем да се изтриват от файловата система
файлове, които програмите са отворили и използват активно.

Антон Зиновиев
Проблема е, че има race-condition. В повечето UNIX файлови системи, директорията е просто списък filename-> inode. В inode има reference-count, който съдържа броя на hard links към този файл. Този inode се изтрива само когато този refcount стане 0. Та вземи следната ситуация: olddir/foo.log сочи към inode X и няма други hard-links към него. Някоя програма го е отворила и си пише в него нещо. В момента, в който тая програма го е отворила, refcount на файла е станал 2. Като се премести директорията olddir в newdir и след това се изтрие, refcount пада на 1. Т.е. има inode, обаче щом програмата го затвори, refcount пада на 0 и самия inode се затрива. Та цялата информация, която е записана във файла м/у изтриването на foo.log и затварянето на файла от страна на програмата *СЕ ГУБИ БЕЗВЪЗВРАТНО*.

Това може да е, или да не е от значение, но е хубаво да се има впредвид.

cheers,
face

============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================


  • Във връзка с:

 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.