У меня нет репутации, чтобы комментировать, поэтому я должен ответить на ваш вопрос, даже если я не могу полностью понять, что вы имеете в виду
обновленный идентификатор inode
Хорошо, чтобы получить путь от корневого каталога до каталога, в котором вы находитесь, мы идем в обратном направлении. Вы должны сначала получить номер инодов каталога , вы находитесь на (вы получите его от . А затем получить родительский каталог через .. запись , а затем искать в родительском каталоге ищет каталог , который имеет то же самое номер инода, который вы получили в начале. Это имя этой записи каталога в родительском каталоге. Таким образом, вы получите, как этот каталог . вызывается в родительском каталоге ... повторяя эту итерацию, вы получите имя родительского каталога ... и так далее, пока .... что?
Хорошо, в корневом каталоге есть запись .. которая указывает на себя (как . Делает), и вы должны сравнить номер инода, который вы получили в прошлый раз, с номером, который вы получили в этой итерации, и остановиться, если они совпадают с номером инода , Как только этот специальный каталог достигнет, у вас будет список имен, которые вы должны изменить, поместите косые черты / между ними, и вы получите путь к фактическому каталогу.
Если вы не находитесь в корневой файловой системе, ядро создает магию, необходимую для перехода в родительский каталог (он следует за записью .. через точки монтирования, игнорируя, что запись .. указывает на себя), и вы получите путь к Корневой каталог правильно, так что вы можете следовать этому методу, пока не получите . и .. указывая на тот же индекс.
Я ожидаю, что это полностью отвечает на ваш вопрос.