[ZODB-Dev] POSKeyError plea for help

Toby Dickenson dirstorage-users@lists.sourceforge.net
Tue, 14 Jan 2003 13:02:25 +0000


(Reply-To set to dirstorage-users list)

On Tuesday 14 January 2003 12:26 pm, Chris Withers wrote:
> Toby Dickenson wrote:
> >>PS: What file systems would you recommend DirectoryStorage on?
> >
> > reiserfs on linux.
>
> How about ext2?

On ext2 there are certain operations that can not be performed safely, wi=
thout=20
the risk of a crash or power loss dumping files in /lost+found. It is=20
certainly possible to manually rebuild the directory structure after that=
,=20
but I dont recomend it.

(Hmmm. 99% possible. I could easily fix that last 1% if you need it)

ext3 should be robust, but you will lose out on speed and space.

> Sorry, I meant how much difference does the type of filesystem make?

It is believed to be critical.  Nearly half of all files are 8 bytes long=
, and=20
I dont know of any filesystem other than reiser or NTFS than can handle t=
his=20
load efficiently.

> > You will get a healthy NotImplementedError. It should be possible to
> > create an excellent NTFS version, but I know I will never have time f=
or
> > this.
>
> What eneds to be done?

1. study the semantics of the win32 equivalent to 'fsync'. Getting this
   right on posix was harder than the man page suggested.
2. find out how to perform an atomic file replace.
3. implement a scalable os.listdir (extension module?)
4. probably more.

Have a look at:
PosixFilesystem.py - an example of how an NTFSFilesystem would work
BaseFileSystem.py - which defines its interface.
LocalFilesystem.py - which probably has other requirements that
  really should be documented in BaseFileSystem.py

--=20
Toby Dickenson
http://www.geminidataloggers.com/people/tdickenson