This could perhaps be satisfied by slight of hand and numerous calls
to link().
i.e.
2. becomes copy all info from directory -> .directory.new and possibly sort it
3. check change time stamp, do a special block on access to directory
so all read/write requests to directory goes to .directory.new,
rename directory -> .directory.old and .directory.new -> directory.
4. unlink all entries in .directory.old.
5. go on with life.
This could require filesystem magic, such as a special extentions to
all directory-related e2fs calls so that for the time of the copying
from directory -> .directory.new an open in directory would also cause
a new directory/file to be linked to director.new/file, and it would
break programs that depended on link count being a specific number on
open. I think this could be worked out somehow, but I don't have the
skills to do it :( It would be handy, though. I don't know if this is
the best way to go about it.
-Peter
-
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.altern.org/andrebalsa/doc/lkml-faq.html