On Thu, Nov 07, 2013 at 01:02:33PM +0200, Andrej N. Gritsenko wrote:
> >3. remove dead entries from the db periodically.
> 
>     It is not possible really - you will remove all remembered data for
> remote or removable media not currently connected. And since you have

Not necessarily.

You know which units are connected "right now". As long as you tag cache
entries with units they belong to, you do not have to expire the entries
belonging to missing units, unless the user explicitly says "I want to
clean up the units' forest".

This can be done by using a "global" name space for directories
across unit mounts, say going by the unit's uuid or disk hardware id.
For garbage collection let you walk the tree of currently connected ones,
not crossing the "mount points" for disconnected units.

> proposed to use cache exactly for that purpose, that renders value of
> that cache close to zero.

It doesn't look so.

>     Well, it seems both .directory and cache approaches have too many
> Cons in eyes of you, people, so only acceptable one is to use xattr. It

Xattr is in my eyes the most inferior, being the least portable and leading
to differences in the behaviour depending on where you are in the file tree.
This is confusing for the users.

For my personal usage pattern the xattr approach would be plainly non-working.

> has own drawbacks too but combine two (or more) approaches is worse as
> that will bring problems when detection which approach to use fails by
> false positive. So I would avoid double-approach as much as possible.

Oh by the way, do not forget versioning of any kind of meta-information
you choose to save (cache, ./.file or xattr). The data _will_ be exposed
to different versions of the file manager, possibly simultaneously
(iow "upgrading a format by rewriting in place" is a disaster).

>     Thank you very much for all your opinions!

Thanks for listening Andrej.

Regards,
Rune


------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Lxde-list mailing list
Lxde-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxde-list

Reply via email to