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