Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jan 1999 17:07:22 +0100
From:      Erwan Arzur <erwan@netvalue.fr>
To:        obrien@NUXI.com
Cc:        Mike Smith <mike@smith.net.au>, Ustimenko Semen <semen@iclub.nsu.ru>, freebsd-current@FreeBSD.ORG
Subject:   Re: About to commit NTFS driver
Message-ID:  <36B1DCB9.8FB42BA4@netvalue.fr>
References:  <Pine.BSF.3.96.990128024451.49866B-100000@iclub.nsu.ru> <199901290050.QAA01195@dingo.cdrom.com> <19990128235511.A24267@relay.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
David O'Brien wrote:

> > > Driver is readonly, specialy developed for freebsd,
> > > supports most of NTFS's features.
> > > Source is at http://iclub.nsu.ru/~semen/ntfs/
> >
> > Sounds like a good idea.  Do you have a reviewer?
>
> I'm looking at it now for 4.0-C.

I'm quite sure it has already been corrected right now, but when
building against a fresh 4.0-current as of this morning, you have to
change the calls to getpbuf and relpbuf in ntfs_vnops.c ...

*** ntfs_vnops.c        Thu Jan 28 04:56:06 1999
--- /sys/ntfs/ntfs_vnops.c      Fri Jan 29 16:31:16 1999
***************
*** 126,132 ****
         * We use only the kva address for the buffer, but this is
extremely
         * convienient and fast.
         */
!       bp = getpbuf();

        npages = btoc(count);
        kva = (vm_offset_t) bp->b_data;
--- 126,132 ----
         * We use only the kva address for the buffer, but this is
extremely
         * convienient and fast.
         */
!       bp = getpbuf(NULL);

        npages = btoc(count);
        kva = (vm_offset_t) bp->b_data;
***************
*** 145,151 ****
        error = VOP_READ(vp, &uio, 0, cred);
        pmap_qremove(kva, npages);

!       relpbuf(bp);

        if (error && (uio.uio_resid == count))
                return VM_PAGER_ERROR;
--- 145,151 ----
        error = VOP_READ(vp, &uio, 0, cred);
        pmap_qremove(kva, npages);

!       relpbuf(bp,NULL);

        if (error && (uio.uio_resid == count))
                return VM_PAGER_ERROR;

This allows the module to compile and it also runs well :
/dev/wd0s6 on /ntfs/disk_f (local)
/dev/wd0s7 on /ntfs/disk_g (local)

Considering the comments in vm_page.c where these functions are defined,
this may need some investigation (can't do this by myself, i get
confused with everything that starts with "vm", especially on FreeBSD
:-))




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36B1DCB9.8FB42BA4>