keep trace of already written inodes to restore hard links
More...
#include <filesystem_hard_link_write.hpp>
keep trace of already written inodes to restore hard links
Definition at line 57 of file filesystem_hard_link_write.hpp.
◆ filesystem_hard_link_write()
libdar::filesystem_hard_link_write::filesystem_hard_link_write |
( |
const std::shared_ptr< user_interaction > & |
dialog | ) |
|
|
inline |
◆ clear_corres_if_pointing_to()
void libdar::filesystem_hard_link_write::clear_corres_if_pointing_to |
( |
const infinint & |
ligne, |
|
|
const std::string & |
path |
|
) |
| |
forget everything about a hard link if the path used to build subsequent hard links is the one given in argument
- Parameters
-
[in] | ligne | is the etiquette number for that hard link |
[in] | path | if the internaly recorded path to build subsequent hard link to that inode is equal to path, forget everything about this hard linked inode |
◆ corres_reset()
void libdar::filesystem_hard_link_write::corres_reset |
( |
| ) |
|
|
inlineprotected |
◆ known_etiquette()
bool libdar::filesystem_hard_link_write::known_etiquette |
( |
const infinint & |
eti | ) |
|
- Returns
- true if an inode in filesystem has been seen for that hard linked inode
◆ make_file()
void libdar::filesystem_hard_link_write::make_file |
( |
const cat_nomme * |
ref, |
|
|
const path & |
ou |
|
) |
| |
|
protected |
generate inode or make a hard link on an already restored or existing inode.
- Parameters
-
[in] | ref | object to restore in filesystem |
[in] | ou | where to restore it |
◆ raw_clear_ea_set()
bool libdar::filesystem_hard_link_write::raw_clear_ea_set |
( |
const cat_nomme * |
e, |
|
|
const std::string & |
path |
|
) |
| |
|
protected |
remove EA set from filesystem's file, allows subsequent raw_set_ea
- Parameters
-
[in] | e | this object may be a hard link to or an inode |
[in] | path | the path in the filesystem where reside the object whose EA to clear |
- Returns
- true if EA could be cleared, false if "e" is a hard link to an inode that has its EA already restored previously
◆ raw_set_ea()
bool libdar::filesystem_hard_link_write::raw_set_ea |
( |
const cat_nomme * |
e, |
|
|
const ea_attributs & |
list_ea, |
|
|
const std::string & |
spot, |
|
|
const mask & |
ea_mask |
|
) |
| |
|
protected |
add the given EA matching the given mask to the file pointed to by "e" and spot
- Parameters
-
[in] | e | may be an inode or a hard link to an inode, |
[in] | list_ea | the list of EA to restore |
[in] | spot | the path where to restore these EA (full path required, including the filename of 'e') |
[in] | ea_mask | the EA entry to restore from the list_ea (other entries are ignored) |
- Returns
- true if EA could be restored, false if "e" is a hard link to an inode that has its EA already restored previously
- Note
- the list_ea EA are restored to spot path, the object e is only here to validate that this operation has not already been done through another hard linked inode to that same inode
◆ corres_write
std::map<infinint, corres_ino_ea> libdar::filesystem_hard_link_write::corres_write |
|
private |
The documentation for this class was generated from the following file: