[openbeos] Re: Porting BFS to Windows

  • From: Joseph Galbraith <galb@xxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Wed, 10 Aug 2005 09:01:55 -0600

Mikael Jansson (mailing lists) wrote:

"Alexander G. M. Smith" <agmsmith@xxxxxxxxxx>:
Mikael Jansson wrote on Tue, 9 Aug 2005 12:32:46 +0200 (CEST):
It's $109 for the IFS Kit
Gone down a bit, from $1000 a few years ago, and with licensing rules
that said you had to kept your software proprietary.  By the way, a
few people want ReiserFS to be useable under Windows too, and they
estimate $90K in labour would be needed (about two man-years?).

Interesting. Is it really _that_ difficult to use the IFS Kit?

In windows, a file system driver is intimately related to the VM
and the cache manager. Add to that poor to no documentation on
many things (though this has been improving dramatically in the
last few IFS kit releases), and the fact that if you have a question of how things should work you can't just pop into the
source code and see.


Also, I'm not at all familiar w/ either BeOS's model or
linuxes (for ReiserFS) model, but I suspect they may
be very different from the WinNT model.

In Windows NT, if the filesystem driver receives an I/O marked
asynchronous that it can't complete IMMEDIATELY, it MUST initiate
the request to the lower level driver (for example the storage
stack) and return STATUS_PENDING to the calling thread.

The storage stack driver will reenter the filesystem driver
(in arbitrary thread / process context) when it has completed
it's work, and the filesystem driver can pickup and complete the
I/O it was working on.

I don't know, but I suspect that this highly asynchronous
model isn't handled by the existing code base for linux /
BeOS, and that introducing it would account for much of
the estimated time.

I also suspect it would make it pretty difficult to write
a BeOS-fs emulation layer.

Unless I'm utterly wrong about filesystem I/O being pretty
much synchronous for linux and BeOS?

Thanks,

Joseph

PS. $90K sounds like about one man year to me.  I certainly
don't work for $45K a year.  And I semi-suspect that for
a filesystem of ReiserFS's complexity, it may be an
underestimate.

Other related posts: