This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: hairbrained idea


Brian Dessent wrote:
> Brian Dessent wrote:
> 
>> There exist open source read/write IFS drivers for ext2 under windows,
>> e.g. <http://sourceforge.net/projects/ext2fsd>.
> 
> I've been thinking about this on and off and have come up with two
> serious problems:
> 
> A) the open source ext2fsd linked above is read-only.  I must have been
> confusing it with other free-but-no-source-available or not-free-at-all
> ext2 driver.

  Or perhaps you were thinking of the ntfs drivers for linux?  :)  I always
get the two mixedup.  Anyway, ext2fsd isn't the only one: Bo Branten
(maintainer of the free version of ntifs.h, http://www.acc.umu.se/~bosse/) has
a link to EXT2IFS (http://uranus.it.swin.edu.au/~jn/linux/ext2ifs.htm) (umm..
also read only...)

  Then again, the whole thing may be moot.

  If you think that "the open source ext2fsd linked above is read-only", then
perhaps you can explain what the code on lines 112-113 of dispatch.c is doing?
;)

> B) bypassing the windows filesystem layers for standard file access (and
> instead talking directly to the driver) would probably not work so well
> in that the kernel's file cache would be oblivious, and there would
> probably be a resulting performance penalty.

  Nor can I imagine any reason for wanting to do so.  This is a red-herring,
surely?  Windows supports case-sensitivity and hard links in the API already.
If there's some kind of extended metadata such as inodes or 'nix perms, they
can be accessed by sending a set/query device ioctl.  I can't see any reason
we'd want to bypass the IO manager and win32 APIs.  (Well, we might bypass the
w32 api calls and go straight to native api calls, so we can pass in
OBJ_CASE_INSENSITIVE, and this might not work on '9x, but then again I don't
suppose that the ext2 FSD works on '9x either...)

> It sucks that there seems to be very little documentation on windows
> IFS.  I have the windows DDK but apparently the IFS DDK is a whole
> separate product that is not free, and there is only one good published
> book[1] on the topic that is out of print and hideously expensive.
> 
> So, I guess this idea can be shelved, at least without someone with a
> lot of specific domain knowledge.

  I've got the IFS book.  (It cost me £10 remaindered in a local
computer/sci/tech book store. I was quite pleased when I found people asking
$100's for it on ebay/amazon!)  It is shortly going to be reissued by OSR:
http://www.osronline.com/article.cfm?article=426

  OTOH, the new WDK (windows driver kit - god knows what this means relative
to the alphabetti spaghetti that is DDK/WDM/WDF/KMDF/KMFDM....) I have been
told is going to incorporate the IFS kit into it.

  So, my summary of the situation is: no need to bypass anything.  If we want
to provide a private API for POSIX-aware apps (e.g: cygwin) to use 'through
the back door', it should be implemented just by adding device io controls to
the driver.  (Then it becomes available to non-cygwin apps as well!)

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]