Когда каталог удаляется, индексный дескриптор этого каталога (и индексные дескрипторы его содержимого) повторно используется. Указатель вашей оболочки на индексный дескриптор этого каталога (и индексные дескрипторы его содержимого) больше не действителен. Когда каталог восстанавливается из резервной копии, старые inodes не (обязательно) повторно используются; каталог и его содержимое хранятся в случайных индексах. Единственное, что остается неизменным, - это то, что родительский каталог повторно использует то же имя для восстановленного каталога (потому что вы это сказали).
Теперь, если вы попытаетесь получить доступ к содержимому каталога, на который все еще указывает ваша исходная оболочка, он передает этот запрос в файловую систему как запрос на исходный индексный дескриптор, который с тех пор был переработан (и может даже использоваться для чего-то теперь совсем другое). Итак, вы получили stale file handle
сообщение, потому что запросили несуществующие данные.
Когда вы выполняете cd
операцию, оболочка повторно оценивает расположение inode того места назначения, которое вы ему указываете. Теперь, когда ваша оболочка знает новый индексный дескриптор для каталога (и новые индексы для его содержимого), будущие запросы на его содержимое будут действительными.
touch
на хосте A, чтобы все стало нормально.