Что такое точка повторной обработки и почему она так названа?

10
  • Что это?

    согласно MSDN Docs , в файловой системе NTFS существует понятие, называемое «точка повторной обработки», и:

    Когда файловая система открывает файл с точкой повторной обработки ...

    из этой строки видно, что reparse pointв объекте файла NTFS хранятся только некоторые метаданные.

    но этот популярный ответ говорит иначе:

    Точка повторного анализа - это то, что Linux называет символической ссылкой.

    какой правильный ответ?


  • Почему это так называется?

    Еще одна вещь, которая озадачивает меня - это название такой концепции, я посмотрел ее документацию, но не увидел ничего относительно происхождения, есть ли у кого-нибудь подсказка для этого? Я предполагаю, что имя содержит «parse», потому что оно включает в себя использование фильтра файловой системы для анализа структуры данных, но почему это «RE-parse point», а не просто «parse point» ?

Sajuuk
источник
«Посмотрите еще раз, потому что ваши данные не там, где вы думаете».
Мокубай

Ответы:

6

Точка повторного анализа - это то, что Linux называет символической ссылкой.

Это в основном, но не совсем правильно. Очки повторной обработки не обязательно являются ссылками; это «строительный блок», на котором могут быть реализованы различные типы ссылок.

Да, они могут использоваться для реализации символических ссылок - действительно, как традиционные переходы NTFS, так и более поздние символические ссылки Win10 "Unix-like" являются двумя различными типами точек повторной обработки.

Однако их можно использовать для реализации функций, которые вообще не действуют как символические ссылки. Например, Windows «точки монтирования тома» (где вы присоединяете диск к папке, а не к букве диска) также являются точками повторной обработки. В статье Википедии перечислены еще несколько типов - например, дедуплицированные файлы или «автономные» файлы, которые инициируют извлечение из резервных копий на ленту.

Почему это так называется?

Это называется «точкой повторной обработки», потому что она прерывает процесс разбора пути .

Когда у вас есть такой путь C:\Documents and Settings\Application Data\Microsoft, вы можете представить, что он анализируется следующим образом:

  1. Посмотрите 1-й компонент C:- это буква диска. Получите доступ к диску.
  2. Посмотрите на 2-й компонент Documents and Settings- это точка повторной обработки. Прочитайте метаданные точки повторной обработки и перезапустите анализ. Вы закончите в C:\Users.
  3. Посмотрите на 3-й компонент Application Data- снова точка повторной обработки; прочитайте его метаданные и перезапустите разбор пути оттуда . Вы закончите в AppData\Roaming.
  4. Смотреть...

Если у вас Linux, вы можете увидеть похожую визуализацию, запустив ее namei /a/long/path/to/something, особенно если путь содержит символические ссылки.

user1686
источник
Мне интересно, если вы имеете в виду символические ссылки Linux, используемые WSL ( IO_REPARSE_TAG_LX_SYMLINK), когда вы ссылаетесь на более свежие символические ссылки Win10 "Unix-like" ?! Если вы имеете в виду символические ссылки NTFS, они существовали со времен Windows Vista, и существует драйвер фильтра, позволяющий установить точную функцию на более старые версии ОС.
0xC0000022L
2

От Microsoft: очки повторной обработки

Файл или каталог может содержать точку повторной обработки, которая представляет собой набор пользовательских данных. Формат этих данных понятен приложению, которое хранит данные, и фильтру файловой системы, который вы устанавливаете для интерпретации данных и обработки файла. Когда приложение устанавливает точку повторного анализа, оно сохраняет эти данные плюс тег повторного анализа, который уникальным образом идентифицирует данные, которые оно хранит. Когда файловая система открывает файл с точкой повторной обработки, она пытается найти фильтр файловой системы, связанный с форматом данных, идентифицированным тегом повторной обработки. Если фильтр файловой системы найден, фильтр обрабатывает файл в соответствии с данными повторного анализа. Если фильтр файловой системы не найден, операция открытия файла завершится неудачно.

Таким образом, сохраненный файл или данные анализируются файловой системой, отмечается, что они содержат специальные данные и должны быть повторно обработаны фильтром файловой системы, чтобы их можно было правильно разрешить. Так как это требует двух отдельных действий синтаксического анализа , чтобы успешно открыть файл , он, вероятно , что именно это приводит к имени « повторного разбора точки.»

Данные не просто анализируются один раз. Данные найдены в первом синтаксического анализ получает повторно разобран некоторое расширение приложения для разрешения истинного смысла данных.

Это не значит, что точка повторной обработки не является символической ссылкой. Это может быть просто блок данных с надписью «Просмотрите в этом файле», когда он был обработан повторно.

Мокубай
источник
@TwistyImpersonator Это то, что я пытался сказать в моем абзаце ниже цитаты. Если я смогу как-то сформулировать это лучше, тогда я открыт для предложений.
Мокубай