Features Download
From: Anton Altaparmakov <aia21 <at> cam.ac.uk>
Subject: Re: A funny story (not! but a useful thing to know)
Newsgroups: gmane.linux.file-systems.ntfs.devel
Date: Wednesday 31st May 2006 09:11:45 UTC (over 11 years ago)
On Wed, 31 May 2006, Carl-Daniel Hailfinger wrote:
> Anton Altaparmakov wrote:
> > New version.  Written from scratch.  Does full B+tree addition
> > I created tens of thousands of files today and not one corruption.  (-:
> Congratulations.

Thanks.  (-:

> > But before you get excited:  You will have to wait till next summer to
> > the code.  Sorry.  My hope is to give the world full read-write, open 
> > source, kernel NTFS driver on both OSX and Linux by the time the next 
> > major Mac OSX release is released (it should be in the next OSX major 
> > release).
> Did I understand you correctly that this driver will obsolete the current
> Linux kernel NTFS driver and the new code will be dual-licensed, cross-
> platform and released in summer 2007?

It was going to be single cross-platform driver but I abandoned that idea 
due to the differences in the VFS of OSX and Linux and due to having very 
stringent performance criteria on how fast the OSX driver has to be so I 
did not want the overhead of abstracting the VFS to driver interface.  So 
it is going to be two drivers with a striking similarity to each other...  
I am hoping the majority of the "under the hood" code is going to be 
identical although it is not at the moment.

The Linux driver remains GPL (it is too difficult to do anything else as 
the new code is based on the current Linux NTFS driver) and the OSX driver 
is (probably - subject to Apple actually figuring out exactly what they 
are happy with) going to be APSL + GPL (GPL may be as an exception to 
Linux-NTFS project only I don't know, that is the minimum I asked for so 
fixes from OSX NTFS can flow back to Linux NTFS but it may be just 
APSL/GPL or BSD license was even mentioned so we will see...).

And yes, you could say the current Linux NTFS driver will be obsoleted 
because the diff is so big already by the time I am done it will look 
nothing like the current driver (already about 700kb of "diff -urNp" 
output for current Linux to new Linux driver! - I had to rewrite a lot of 
code for index handling for example) and I am not done yet...

> Full read-write support includes sparse, compressed and encrypted files?

Sparse and compressed certainly.  Encrypted is also a milestone/target 
after basic read/write is completed but that is trickier as it requires 
user space support so I am not sure how it will integrate with anything 
yet.  The biggest problem is that the encryption keys are not necessarily 
stored on the partition that the files are stored on thus we will have to 
provide additional utilities, possibly running on Windows to extract their 
keys or we will direct people to use the Windows' own key export utilities 
or MMC.  This is what the current NTFSdecrypt utility requires also: a key 
exported from cipher command line utility in Windows or from MMC's crypto 
plugin for people preferring the GUI...  Then for the kernel driver we 
will need to allow each user to provide their own key or set of keys that 
the driver is allowed to use when accessing encrypted files.

And that brings yet another requirement: support for mapping unix UID/GID 
to Windows SID so the correct crypto keys can be found, etc.

Actually a huge amount of work...  Admittedly not as bad as it sounds 
because the whole UID/GID mapping is also required by ACLs so I will be 
doing ACLs first and then all that should be sorted out and working so the 
encrypted files can come on top and use the already implemented uid<->SID 

At the moment I am working on basic read/write.  The read side is complete 
on both OS (including sparse/compressed but not encrypted - according to 
my first milestone/target for OSX) and the write side is in progress 
(second milestone/target for OSX).  ACLs, encryption, and all the other 
extras are all lower priority and are to come after the first two 
milestones/targets are completed...

Best regards,

Anton Altaparmakov  (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/

All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
CD: 4ms