NTFS driver (was: ReactOS GPL vs. proprietary drivers)

Szakacsits Szabolcs szaka at mlf.linux.rulez.org
Tue Oct 21 15:38:41 CDT 2003


On Tue, 21 Oct 2003, Jan Kratochvil wrote:
> ... 
> Most of them is read-only but if you know how to read, sure
> you can write as well.
> 
> Block allocation bitmaps (or Btrees or whatever) 

Yes, there are all the three :)

> do not need to be understood for writing.

I guess you mean reading? Anyway it depends on the driver quality. All
needs to be known for both read and write.

For exmaple the block allocation bitmap is used for filesystem consistency
check by ntfsresize. It caught a lot of inconsistent NTFS, hardware errors
and an extremely rare NTFS case we waren't aware before (but it's
supported now).

> You can ignore a zillion of unknown data fields during read (such as
> checksums). 

Yes, one can but we don't. The new NTFS driver has very rigour checking,
including checking the several checksums.

> You do not need to know maximum sizes of data structures. etc.

NTFS (and Microsoft) defines the maximum size. Moreover even if it wasn't,
one could have built in limits known to work and test bigger limits when
needs arise and release if tests pass.
 
> Sorry, I meant OS/2 HPFS/NTFS. The old story as the development of NT kernel
> split between IBM and Microsoft at some point.

OS/2 wasn't open source.
 
> Filesystem must be the rock solid data storage structure. You must
> know the meaning of each byte (*) for such reliable and interoperable
> filesystem. 

Exactly. Every needed byte is known.

> NTFS is not documented in such level - even in the case of documented
> compression structures there are missing points in the underlying
> generic NTFS data structures.

I don't know what you exactly mean. The public NTFS documentation somewhat
outdated. The real documentation is the source code. And as I wrote, the
Linux NTFS driver can handle compressed files.
 
> (*) You do not need to know the journalling metadata as long as you do not
>     support journalling and/or its recovery.

One of the unknown issues is journaling :) If volume is marked dirty,
driver refuses to mount it (unless forced).
 
	Szaka




More information about the wine-devel mailing list