Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jan 1999 11:59:44 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Erwan Arzur <erwan@netvalue.fr>
Cc:        obrien@NUXI.com, 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:  <199901291959.LAA80883@apollo.backplane.com>
References:  <Pine.BSF.3.96.990128024451.49866B-100000@iclub.nsu.ru> <199901290050.QAA01195@dingo.cdrom.com> <19990128235511.A24267@relay.nuxi.com> <36B1DCB9.8FB42BA4@netvalue.fr>

next in thread | previous in thread | raw e-mail | index | archive | help
    I should probably backport the getpbuf/relpbuf changes from -4.x to
    -3.x so the drivers remain reasonably portable.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

:
: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?199901291959.LAA80883>