| 
														
															@@ -568,6 +568,7 @@ dictionary created by the ``Item`` class that contains: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 * gid 
														 | 
														
														 | 
														
															 * gid 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 * mode (item type + permissions) 
														 | 
														
														 | 
														
															 * mode (item type + permissions) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 * source (for symlinks) 
														 | 
														
														 | 
														
															 * source (for symlinks) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+* hlid (for hardlinks) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 * rdev (for device files) 
														 | 
														
														 | 
														
															 * rdev (for device files) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 * mtime, atime, ctime in nanoseconds 
														 | 
														
														 | 
														
															 * mtime, atime, ctime in nanoseconds 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 * xattrs 
														 | 
														
														 | 
														
															 * xattrs 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1246,3 +1247,28 @@ For example, using 1.1 on a repository, noticing corruption or similar issues an 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 ``borg-1.0 check --repair``, which rewrites the index and hints, results in this situation. 
														 | 
														
														 | 
														
															 ``borg-1.0 check --repair``, which rewrites the index and hints, results in this situation. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Borg 1.1 would erroneously report checksum errors in the hints and/or index files and trigger 
														 | 
														
														 | 
														
															 Borg 1.1 would erroneously report checksum errors in the hints and/or index files and trigger 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 an automatic rebuild of these files. 
														 | 
														
														 | 
														
															 an automatic rebuild of these files. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+HardLinkManager and the hlid concept 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+------------------------------------ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+Dealing with hard links needs some extra care, implemented in borg within the HardLinkManager 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+class: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+- At archive creation time, fs items with st_nlink > 1 indicate that they are a member of 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  a group of hardlinks all pointing to the same inode. For such fs items, the archived item 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  includes a hlid attribute (hardlink id), which is computed like H(st_dev, st_ino). Thus, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if archived items have the same hlid value, they pointed to the same inode and form a 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  group of hardlinks. Besides that, nothing special is done for any member of the group 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  of hardlinks, meaning that e.g. for regular files, each archived item will have a 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  chunks list. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+- At extraction time, the presence of a hlid attribute indicates that there might be more 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  hardlinks coming, pointing to the same content (inode), thus borg will remember the "hlid 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  to extracted path" mapping, so it will know the correct path for extracting (hardlinking) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  the next hardlink of that group / with the same hlid. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+- This symmetric approach (each item has all the information, e.g. the chunks list) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  simplifies dealing with such items a lot, especially for partial extraction, for the 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  FUSE filesystem, etc. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+- This is different from the asymmetric approach of old borg versions (< 2.0) and also from 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  tar which have the concept of a main item (first hardlink, has the content) and content-less 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  secondary items with by-name back references for each subsequent hardlink, causing lots 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  of complications when dealing with them. 
														 |