Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jul 2006 21:51:46 +0200
From:      Ulrich Spoerlein <uspoerlein@gmail.com>
To:        ports@freebsd.org
Subject:   Port of FUSE-NTFS to FreeBSD (sort of)
Message-ID:  <20060715195146.GE1106@roadrunner.aventurien.local>

next in thread | raw e-mail | index | archive | help

--6BvahUXLYAruDZOj
Content-Type: multipart/mixed; boundary="aZoGpuMECXJckB41"
Content-Disposition: inline


--aZoGpuMECXJckB41
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi,

the FUSE NTFS team has release a new version of its NTFS driver which
promises to deliver write support for NTFS to FreeBSD.
http://sourceforge.net/mailarchive/forum.php?thread_id=3D23836054&forum_id=
=3D2697

I made a port of the driver and fixed some build errors, but the port is
still not working (for me), as it is running into an infinite loop.

If some people would like to take it from here, I'd be glad to hand the
port over, as I don't have that much time. At least all the boring stuff
(pkg-descr, pkg-plist) has been taken care of.

Here's further debugging info:

Mounting the fuse device will result in an infinite loop in
ntfs_attr_pread calling ntfs_pread unsuccessfully over and over again:

(gdb) bt
#0  ntfs_attr_pread (na=3D0x805e100, pos=3D476846, count=3D3354, b=3D0x8083=
000) at attrib.c:887
#1  0x080497f3 in ntfs_fuse_get_nr_free_clusters (vol=3D0x8054100) at ntfs-=
3g.c:200
#2  0x080498f1 in ntfs_fuse_statfs (path=3D0x480b62db "/", sfs=3D0xbfbfe600=
) at ntfs-3g.c:254
#3  0x480b1cb1 in fuse_statfs () from /usr/local/lib/libfuse.so.2
#4  0x480b3977 in fuse_ll_process () from /usr/local/lib/libfuse.so.2
#5  0x480b53e3 in fuse_session_process () from /usr/local/lib/libfuse.so.2
#6  0x480b2a77 in fuse_session_loop () from /usr/local/lib/libfuse.so.2
#7  0x480b2183 in fuse_loop () from /usr/local/lib/libfuse.so.2
#8  0x0804c50a in main (argc=3D5, argv=3D0xbfbfea24) at ntfs-3g.c:1864
(gdb) l
882                     to_read =3D min(count, (rl->length << vol->cluster_=
size_bits) -
883                                     ofs);
884     retry:
885                     ntfs_log_trace("Reading 0x%llx bytes from vcn 0x%ll=
x, lcn 0x%llx, "
886                                     "ofs 0x%llx.\n", to_read, rl->vcn, =
rl->lcn, ofs);
887                     br =3D ntfs_pread(vol->dev, (rl->lcn << vol->cluste=
r_size_bits) +
888                                     ofs, to_read, b);
889                     /* If everything ok, update progress counters and c=
ontinue. */
890                     if (br > 0) {
891                             total +=3D br;
(gdb) p br
Unhandled dwarf expression opcode 0x93


I'm not sure, what to make of that unhandled expression in gdb, so I'm
lost here. Someone in the know might wanna take this further.

Ulrich Spoerlein

PS: Why is fcntl(fd, F_GETLK/F_SETLK, &flk) not working on file
descriptors pointing to /dev/ad0 or /dev/md0?
--=20
 PGP Key ID: 20FEE9DD				Encrypted mail welcome!
Fingerprint: AEC9 AF5E 01AC 4EE1 8F70  6CBD E76E 2227 20FE E9DD
Which is worse: ignorance or apathy?
Don't know. Don't care.

--aZoGpuMECXJckB41--

--6BvahUXLYAruDZOj
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (FreeBSD)

iD8DBQFEuUdS524iJyD+6d0RAg7vAJ42tjO5k92Ue+AUBaGxmDXGPEmqUgCgjvVV
K8V82XSV/ZYzV6G9EGmS6ew=
=aS4h
-----END PGP SIGNATURE-----

--6BvahUXLYAruDZOj--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060715195146.GE1106>