That's one possibility yes. lseek(2) must work on the data too.
> If you could clarify: suppose I had an albod (written by KWord or
> whatever). Will I still be able to use my existing tools such that the
> directory appears as a directory (i.e. for stat() and open()
It's not clear to me if it should appear as a directory or a file.
Do we want `find' to enter this thing or not? `rm -rf'? `cp'? `tar'?
What if the current on-disk representation is a file because you just
wrote it as a flat file? Is it unpacked when it's written or on demand
when it's read as a directory?
For consistency with the d_type field from readdir(), which isn't
currently returned but should be IMO, it should be a directory. Either
that or albods have a new on-disk represenation. Looking for the
default file to decide if it's an albod at readdir() time would
introduce excessive directory-reading overhead.
It's not even clear that opening with O_DIRECTORY always shows the
directory. Care is needed: this is as efficient way to _test_ for a
directory, which an optimised `find' would use. (<plug> See my treescan
prog </plug>). It may mean implementing d_type from readdir() at last.
> Another question, since it hasn't been made clear to me: which
> problem(s) are you trying to solve by adding new semantics for
Assuming an efficient small-object filesystem (reiserfs or reiserfs on
ext2)), I can only think of one: the ability to send them around as
files using traditional tools. Thereby implementing the illusion of
"documents" which happen to be implemented as directories of their
ps. To keep things exciting, what about CVS? Should that operate within
the albod thereby introducing `CVS' subdirectories into the albod? Or
should it operate on the whole albod as a file, thereby being ridiculously
coarse-grained and inefficient? (Think EDA "documents" containing
hundreds of components).
Perhaps albod-aware tools should generally work with directories,
and these kernel-hacks used simply to hint to directory-aware programs
whether to enter the directory or not. In which case hybrid
directory-files should always look like files.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
Please read the FAQ at http://www.tux.org/lkml/