From owner-freebsd-current Fri Jan 29 12:00:05 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA03408 for freebsd-current-outgoing; Fri, 29 Jan 1999 12:00:05 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA03386 for ; Fri, 29 Jan 1999 12:00:02 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.2/8.9.1) id LAA80883; Fri, 29 Jan 1999 11:59:44 -0800 (PST) (envelope-from dillon) Date: Fri, 29 Jan 1999 11:59:44 -0800 (PST) From: Matthew Dillon Message-Id: <199901291959.LAA80883@apollo.backplane.com> To: Erwan Arzur Cc: obrien@NUXI.com, Mike Smith , Ustimenko Semen , freebsd-current@FreeBSD.ORG Subject: Re: About to commit NTFS driver References: <199901290050.QAA01195@dingo.cdrom.com> <19990128235511.A24267@relay.nuxi.com> <36B1DCB9.8FB42BA4@netvalue.fr> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I should probably backport the getpbuf/relpbuf changes from -4.x to -3.x so the drivers remain reasonably portable. -Matt Matthew Dillon : :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