Messages in this thread | | | Date | Mon, 5 Jul 1999 21:49:29 +0200 | From | Jamie Lokier <> | Subject | Another Way |
| |
Greg Lindahl wrote: > you could re-invent a simple filesystem in a flat file. The minus is > that you have to re-invent some code which is almost the right stuff > in the kernel. The plus is that it's easy to pass around, and you > didn't change the kernel.
It's portable too. Everyone likes this really.
The usual complaint (pretty much the only one) is one of efficiency.
I'm sure you've noticed people complain that Word's "Fast Save" generates enormous files -- mostly unused data.
And there's fragmentation, if you try to keep the file roughly as large as the data (no holes) without rewriting it each time.
Another Way -----------
Which brings us to a new idea.
Imagine a user space library for components in a file. It's a bit like a filesystem or database. I bet Bonobo & OpenParts have one already.
We want it cross-platform, quick to read, quick to update, and very little wasted space even after many updates. The last constraint makes this difficult, and different from a simple filesystem.
The idea: what help could kernel provide to keep these files packed efficiently? The library would use a cross-platform format, and use these facilities when available to edit it efficiently.
A few ideas tossed into the air:
fedit (insert/delete/swap byte ranges, appropriate fall backs e.g. limited to multiples of block size, fail on some filesystems),
fadvise (tell kernel about independent byte ranges that are likely to grow & shrink, this is advice only for disk layout).
FIBMAP -- can the library make good use of this?
-- Jamie
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |