PDA

Показать полную графическую версию : [решено] Непонятное поведение времени в свойствах файла при копировании (ctime mtime atime).


Pahanivo
11-02-2018, 22:22
Приветствую. Поймал интересный баг (фичу?).
В винде есть три временных параметра файла:
atime - время доступа к файлу (не важный параметр).
ctime - время создания дескриптора файла, т.е. время создания файла.
mtime - время модификации содержимого файла, и только содержимого.

Для простого примера:
1) Создаем папку c:\1
2) Создаем в ней любой файл. Все три времени у него одинаковы и показывают время создания файла. Что логично.
3) Создаем папку c:\2 и копируем в нее вышеуказанный файл из c:\1.
Смотрим параметры скопированного файла и видим что время создания (ctime) изменилось на время когда был скопирован файл. Так и должно быть.
(Именно копируем, при перемещении параметры времени не изменяются.)
4) Удаляем исходный файл в папке c:\1
5) И наконец, самое интересное: копируем файл из папки c:\2 в c:\1. Смотрим в параметры файла и видим что время создания изменилось на время, в которое
был создан файл в пункте 2) !!!! Т.е. оно не увеличилось (что было бы логично), а уменьшилось (откатилось)?!
Если между пунктами 4) и 5) ребутнуть комп, то глюк не воспроизводится.


Пока писал нашел более простой способ воспроизвести этот прикол: создать в любой папке файл, удалить его и затем снова создать файл в этой же
папки с таким же именем. Смотрим на время создания и видим время создания не второго файла, а первого!

Что это за глюк? Кеш? Или еще что-то?
Ничего не нагуглилось, может ключевые слова не те.

Pahanivo
12-02-2018, 10:02
Мммм на виндах старше 7 (xp, 2003) вижу аналогичную картину.

Pahanivo
13-02-2018, 12:39
Нагуглил, это старый баг с NTFS. Кому интересно - гуглить "ntfs tunneling bug". Есть варианты обхода, нооооо с вероятными последствиями.
Тему можно закрыть ...




© OSzone.net 2001-2012