logo       

Re: [announcement] ntfs-3g: open source read-write driver: msg#00032

linux.file-systems.ntfs.devel

Subject: Re: [announcement] ntfs-3g: open source read-write driver


Hi,

On Sun, 16 Jul 2006, Yura Pakhuchiy wrote:

> [Sorry for late reply, hope you will read it before you will go to the
> trip.]

I'm not sure I can answer long, sorry.

> > There are four such corner cases and they are not so hard. I have code
> > for some of them but there was no time to massively test so they aren't
> > included.
>
> Can you list them, please?

grep -3 EOPNOTSUPP libntfs-3g/index.c

First is a safety limit (it could be hit if there are over about
14747559712960682275277163588165279154176 files in a balanced tree).

Second is another safety limit for unknown collation rules.

The third is also a sanity check for badly unbalanced ("corrupt") index
blocks.

And I have code for the remaining two issues (oops, five cases for
"Operation not supported" error messages).

> Have a nice time! BTW, give us link when video will ready.

Thanks! :-)

> Agree, very nice. BTW, what optimisations you did except noatime option
> by default?

atime update is really very unoptimal but let's discusses that later.
Otherwise, non-inlinings and refactorings for better i-cache utilization.

> I do not like idea of sub-project and rename. I do not see any benefits,

Benefits, as I see:

- it has a name which has a meaning. Ntfsmount itself says nothing
because it can mean anything. Confusing.

- the binary, the mount type, filename parts are the same, easy to
remember and not to make mistakes:

ntfs-3g dev mnt
mount -t ntfs-3g dev mnt
/sbin/mount.ntfs-3g

with ntfsmount it's inconsistent:

ntfsmount dev mnt
mount -t ntfs-fuse dev mnt
/sbin/mount.ntfs-fuse

this could be "improved" using e.g. /sbin/mount.ntfsmount which
actually would just reveal how unlucky the name choice was.

- we are __clearly__ distinguished from the other NTFS drivers,
which have either horrible, very bad or just bad reputations.

> only drawbacks:
> * It will be hell to merge every time changes in libntfs and
> libntfs-3g.

Yes, we shouldn't have two, of course.

> * ntfsmount already has it name. It was difficult to explain
> difference between it and kernel driver. This will only start
> mess once again.

I don't see so. Anton wrote the kernel driver is obsolote. I agree. On the
other hand, ntfsmount has a very unlucky name. So we could just remove them
after a while and have only one supported, working driver.

> My current plan to merge your code and at least fix endianess problem.

This is only about a few hours but the endianess fixes would be a waste of
time unless you abstract the metadata accesses to use setters and getters.
This is labor-intensive but it would improve overall code quality quite a
lot!

> > Problem: Error message when mounting:
> > fusermount: failed to open /dev/fuse: No such file or directory
> > Answer: The FUSE kernel module isn't loaded.
> > Workaround: Run 'modprobe fuse' as root.
> > Status: High priority work.
>
> This is FUSE problem. Miklos should fix it.

Disputed. Also and again, that will not solve users' problems __today__.

> > Problem: "Directory not empty" message when deleting "empty"
> > directories:
> > Answer: If locale isn't set correctly then glibc can't convert
> > some filenames, so they aren't visible and the directory
> > indeed isn't empty. Occures very rarely.
> > Workaround: Set your locale properly according to the used characters
> > Status: High priority work.
>
> What can we do about this?

We will fix it ;-)

> > Problem: Windows chkdsk complains about free space being marked in use.
> > Answer: chkdsk sometimes optimizes the NTFS layout and later finds
> > its own bugs (e.g. when index root attributes are moved from
> > extent mft records to the base one). This is not a problem
> > with ntfs-3g.
> > Workaround: No need, it's a chkdsk bug and it fixes itself.
> > Status: Low priority work: we will optimize our algorithms too.
>
> Do you have full list (or close to full) when such things happens?

AFAIS, always when all attributes from an extent record are moved to the
base record.

> > Problem: Windows chkdsk may report minor inconsistency.
> > Answer: The allocation size of sparse files isn't set always correctly.
> > Workaround: No need.
> > Status: Normal priority work.
>
> I thought that I fixed all problems with sparse files. How can I
> reproduce this?

Still the same: cp -a /usr /ntfs

> > Problem: Why doesn't the driver work on 64-bit and bigendian systems?
> > Answer: We have no resource for that. Neither hardware, nor workforce.
> > Status: Low priority.
>
> It work on 64-bit systems. Guy from local irc network tested it on
> amd64. Also see ml.

Yes, it should indeed work but the "works for me" is not the same as sound
function and stress tests on the target with at least close to full code
coverage.

Cheers,
Szaka


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise