|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Andrew Kant 2:469/83.1 18 Feb 2008 01:55:54 To : All Subject : samba timestamp --------------------------------------------------------------------------------
Hе знаю, на сколько точно соответсвует вопрос тематике, но в ru.linux явно не
до этого :(
Hеожиданно столкнулся с тем, что самба при сохранении информации теряет
некоторую часть метаданных файла, относящуюся ко времени. Вернее, временам
(создания, изменения и доступа). Выражается это в том, что если я на клиентском
компе под XP записываю с локального диска на самбу, то время файлов-копий может
отличаться, то есть сложно сделать синхронизацию файлов по таймстэмпам - они не
совпадают.
Hекоторые изыскания в исходниках выявили, во-первых, явные глюки в самом коде
(в некоторых местах есть округления при учете дробных секунд, в некоторых нет,
кое-где перевод из виндового формата с сотнями наносекунд некорректен, плюс
используется системный вызов utimes, который просто отбрасывает дробную часть),
и во-вторых, даже исправление этих глюков не решает принципиальную
невозможность хранения времени с точностью, большей чем 1 секунда. Hу и еще
один момент - оказывается, хранится (вернее, выбирается) только два времени
(atime и mtime), третье - величина расчетная, это минимум из сохраненных
таймстэмпов файла.
То есть полная з..асада. Поэтому возникла мысль немножко подправить положение,
и хотя-бы для тех двух величин сохранять отдельно (например, в xattr под именем
user.samba.mtime и user.samba.atime) полное время, а при выборке сравнивать,
если секунды совпадают, то брать дробную часть из атрибутов, если нет - то как
и раньше ставить 0.
Кто что думает по этому поводу ?
Good bye!
Andrew
--- GoldED+/W32 1.1.4.7
* Origin: * KAA * (2:469/83.1)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/228947b8bf44.html, оценка из 5, голосов 10
|