If, in a level N dump, the file with the inode number X is a
non-directory file with more than one link to it, but in a level M > N dump, the file with the inode number X is a plain file, "restore", when restoring the level M dump, won't remove all the hard links to the old file. Submitted by: guy@netapp.com (Guy Harris)
This commit is contained in:
parent
ac77b4810d
commit
edb398d7d9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=28034
@ -428,8 +428,12 @@ nodeupdates(name, ino, type)
|
|||||||
}
|
}
|
||||||
if (ip->e_type == LEAF) {
|
if (ip->e_type == LEAF) {
|
||||||
/* changing from leaf to node */
|
/* changing from leaf to node */
|
||||||
removeleaf(ip);
|
for (ip = lookupino(ino); ip != NULL; ip = ip->e_links) {
|
||||||
freeentry(ip);
|
if (ip->e_type != LEAF)
|
||||||
|
badentry(ip, "NODE and LEAF links to same inode");
|
||||||
|
removeleaf(ip);
|
||||||
|
freeentry(ip);
|
||||||
|
}
|
||||||
ip = addentry(name, ino, type);
|
ip = addentry(name, ino, type);
|
||||||
newnode(ip);
|
newnode(ip);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user