star meni systemovy cas

Vlada Macek tuttle na bbs.fsik.cvut.cz
Neděle Srpen 7 18:34:44 CEST 2005


[At 07.08.2005 12:17, Pavel Kankovsky kindly sent the following quotation.]

> On Fri, 5 Aug 2005, Vlada Macek wrote:
>
>> LANG=C nice star -c -atime -ctime -xattr -nodump -prinodes -vv
>> -numeric
>
> [...]
>
>> Zjistil jsem vsak, ze se pak deji strasidelne veci. Po spusteni
>> vyse uvedeneho prikazu se mi v ruznych okamzicich velmi rychle
>> posouva systemovy cas dopredu, za par sekund treba o hodinu. [...]
>
> Zakladni otazka zni: spoustite star jako obycejny uzivatel nebo root?
> Pokud jako root, objevuji se tytez priznaky, kdyz ho spustite jako
> neprivilegovany uzivatel?

To jsem nezkousel, ale jsem si temer jisty, ze to jako neprivilegovany
delat nebude. Na zaklade vystupu strace jsem uz vedel, co mam hledat:
Kdyz se podivam do zdrojaku na tu jeho metodu nastavovani ctime na
puvodni hodnotu, tak je vse vcelku jasne... :*(

Po precteni souboru ma za ukol nastavit atime i ctime na puvodni a tak
zmeni system time na ctime (pomoci settimeofday()), provede utimes() -
tim se nastavi atime a zmeni ctime na system time a nakonec zmeni system
time na puvodni. Teoreticky dobry trik, prakticky bych si to v
takovemhle programu teda nedovolil.

Chtelo by to moznost pro roota O_NOATIME v open(2), taky by to trosku
zrychlilo pristup. A kdyz by to neslo, tak aspon zavest ioctl
_FIOSATIME, ktery star pouziva na Solarisu. Sun ale pry _FIOSATIME pred
casem v Solarisu zrusil, tak nevim... Asi to Sunum pripadalo
nekoncepcni. :-)

Update: Ted jsem chvilku hledal a zjistil, ze od kernelu 2.6.8 (shodou
okolnosti to je ten, ktery zrovna doma bezim) je jeho soucasti patch,
ktery poskytuje prave O_NOATIME pro open(2)! Viz
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.8
Bylo by nezky, kdyby to programy typu (s)tar zacaly podporovat...

Problem u zalohovani/archivace je proste ten, ze za nejlepsi povazuje,
kdyz muze obejit nektere ze zarnych vlastnosti filesystemu, napr. atime,
read cache, apod...

> PS: Zlaty dump!

Na tuhle hlasku jsem se na dump/restore podival vic a musim rict, ze to
umi vetsinou vlastnosti, ktere nachazim u staru. Oproti nemu na dump i
nekolik vyhod. Z nekolika duvodu vsak zustanu u staru a na zacatku
skriptu remountnu s noatime a trapnu EXIT pro nastaveni zpatky.


-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)



Další informace o konferenci Linux