Re: question about forget_etiquette function
Denis Corbin <[email protected]> Mon, 09 May 2005 21:41:50 +0200
| Newsgroups | gmane.comp.sysutils.backup.dar.general |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, Wesley Leggette wrote: | in filesystem.hpp: | | We have filesystem_hard_link_read::forget_etiquette() | | This function, when called in filtre.cpp, erases the reference of | an etiquette from the corres_read map. What happens to that | etiquette then? Nothing. It is just no more referenced in the corresponding filesystem_hard_link_read object. - --- ~ void forget_etiquette(file_etiquette *obj); ~ // tell the filesystem module that the reference of ~ // that etiquette does not ~ // exist anymore (not covered by filter for example) - --- And what about the hard links, if they are not | filtered? when a plain file is linked sevral time to the directory tree, the filesystem_hard_link_read class produces for the first occurence of a reference to this file an object of the class file_etiquette then for each following reference an object of the class hard_link. This is never a hard_link object that is used to call forget_etiquette() [argument type does not match], this method is only applied to file_etiquette files. If so applied, because the first occurence is filtered out, the filesystem_hard_link_read has forgotten about this inode and for the next occurence met, it will produce a new file_etiquette object not a hard_link object. The idea behind this is to not have hard_links objects in an archive that have a file_etiquette as reference that has been excluded from the archive, making theses hard_links object impossible to use for restoration as example (if used this would lead to SEGFAULT or the like). | | | For example, I'm thinking | | inode file | | 20 a/a | 20 b/a | 20 c/a | 20 d/a | | if b is excluded, how does this work? | | a/a -- <20,a/a> | b -- delete what? | c/a -- ? | d/a -- ? | | Thanks, | Wesley | | | | Cheers, Denis. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFCf7z+pC5CI8gYGlIRAoAVAJ0aQQftXrmRtAs2XvimjJpgKU52AgCgtszN dg7jNAam/zGtBfq27Bwj1Qk= =QuGV -----END PGP SIGNATURE----- ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20