Re: Re: question about forget_etiquette function
Wesley Leggette <[email protected]> Tue, 10 May 2005 07:16:30 +0200
| Newsgroups | gmane.comp.sysutils.backup.dar.general |
|---|---|
| Message-ID | <1115702190.7329.3.camel@localhost> |
On Mon, 2005-05-09 at 21:41 +0200, Denis Corbin wrote: > -----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). That makes sense! > > > | > | > | 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 > _______________________________________________ > Dar-discussions mailing list > Dar-discussions-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/dar-discussions -- Wesley Leggette <[email protected]> ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click