Непонятное поведение времени в свойствах файла при копировании (ctime mtime atime).
Приветствую. Поймал интересный баг (фичу?).
В винде есть три временных параметра файла: atime - время доступа к файлу (не важный параметр). ctime - время создания дескриптора файла, т.е. время создания файла. mtime - время модификации содержимого файла, и только содержимого. Для простого примера: 1) Создаем папку c:\1 2) Создаем в ней любой файл. Все три времени у него одинаковы и показывают время создания файла. Что логично. 3) Создаем папку c:\2 и копируем в нее вышеуказанный файл из c:\1. Смотрим параметры скопированного файла и видим что время создания (ctime) изменилось на время когда был скопирован файл. Так и должно быть. (Именно копируем, при перемещении параметры времени не изменяются.) 4) Удаляем исходный файл в папке c:\1 5) И наконец, самое интересное: копируем файл из папки c:\2 в c:\1. Смотрим в параметры файла и видим что время создания изменилось на время, в которое был создан файл в пункте 2) !!!! Т.е. оно не увеличилось (что было бы логично), а уменьшилось (откатилось)?! Если между пунктами 4) и 5) ребутнуть комп, то глюк не воспроизводится. Пока писал нашел более простой способ воспроизвести этот прикол: создать в любой папке файл, удалить его и затем снова создать файл в этой же папки с таким же именем. Смотрим на время создания и видим время создания не второго файла, а первого! Что это за глюк? Кеш? Или еще что-то? Ничего не нагуглилось, может ключевые слова не те. |
Мммм на виндах старше 7 (xp, 2003) вижу аналогичную картину.
|
Нагуглил, это старый баг с NTFS. Кому интересно - гуглить "ntfs tunneling bug". Есть варианты обхода, нооооо с вероятными последствиями.
Тему можно закрыть ... |
Время: 05:04. |
Время: 05:04.
© OSzone.net 2001-