Robert Wittams robert at wittams.com
Sat Mar 5 13:05:13 EET 2005

> If you have some examples how it's usable, though, please share.  I'm
> particularly interested in knowing if you found pluggable backends
> useful only because the default backends of the systems in question
> simply weren't as good as they should have been.  In that case,
> pluggable backends aren't a solution to a problem, they're a hack to
> work around fixing the real problem - a suboptimal default
> implementation.  That's what I'm REALLY worried about here - will
> pluggable backends just be an excuse to punt implementing a good backend
> from the start, so we end up with... oh, say... Elektra?

Ok Sean, here is one reason I consider pluggable backends essential:

File system and kernel syscall api improvements.

As much as everybody loves to rag on the performance issues of elektras 
one key per file design, it does have benefits : unified namespace, 
permissioning, "in the spirit of unix", etc.
  And there is something on the horizon that could make most of the 
performance issues go away: the reiser4 syscall in tandem with the 
reiser4 fs. This promises to allow you to batch up scads of file 
operations into one system call :

eg :

"Read the content of all these files into these buffers."

"Write all these files atomically from these buffers."

Of course, this may not go in the kernel as is. It may be modified to 
work universally via the linux vfs, or rejected outright. It certainly 
won't be available to BSD and OpenSolaris users anytime soon. We don't 
know what changes might occur in the future, but we know it won't all 
happen at once. We need the ability to transition to new functionality, 
whatever form it may take. In this case, it means it would be necessary 
to transition to a new format and backend to fully take advantage of new 
kernel functionality. Why make it hard at this stage?

( In the case of D-VFS, it would be possible to take advantage of these 
kinds of new apis inside whatever backend handles file: , because it 
requires no format changes to realise benefits. Might need 
multithreading though ;-) )


More information about the xdg mailing list