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