
So, starting to look through twisted.vfs, I'm finding a few things that need work. 1) I see no way of reading from or writing to a file in ivfs.IFileSystemLeaf. 2) createFile is racy -- it requires opening a file by the given name, with default permissions, then immediately closing it. In addition, it doesn't specify whether it's an error if the file already exists. 3) Looks like all operations are blocking? What about a remote vfs? I think every operation in the vfs interface ought to be non-blocking. 4) IFileSystemNode.remove doesn't say whether it's a recursive delete (on a directory), and .rename don't specify whether newName can be in a different directory, whether it replaces an existing file, or whether it works on a directory. 5) Errors are coarse-grained. Everything is a VFSError, and the only detailed information is in human-readable text, not any nice computer- readable form. 6) Need some support in the interface for extended attributes. That's it for now. James