|
|
| version 1.9, 2003/11/10 06:12:17 | version 1.10, 2004/04/22 17:56:44 |
|---|---|
| Line 73 extern int nwfs_pbuf_freecnt; | Line 73 extern int nwfs_pbuf_freecnt; |
| #define NWFS_RWCACHE | #define NWFS_RWCACHE |
| static int | static int |
| nwfs_readvdir(struct vnode *vp, struct uio *uio, struct ucred *cred) { | nwfs_readvdir(struct vnode *vp, struct uio *uio, struct ucred *cred) |
| { | |
| struct nwmount *nmp = VTONWFS(vp); | struct nwmount *nmp = VTONWFS(vp); |
| int error, count, i; | int error, count, i; |
| struct dirent dp; | struct dirent dp; |
| Line 154 nwfs_readvdir(struct vnode *vp, struct u | Line 155 nwfs_readvdir(struct vnode *vp, struct u |
| } | } |
| int | int |
| nwfs_readvnode(struct vnode *vp, struct uio *uiop, struct ucred *cred) { | nwfs_readvnode(struct vnode *vp, struct uio *uiop, struct ucred *cred) |
| { | |
| struct nwmount *nmp = VFSTONWFS(vp->v_mount); | struct nwmount *nmp = VFSTONWFS(vp->v_mount); |
| struct nwnode *np = VTONW(vp); | struct nwnode *np = VTONW(vp); |
| struct thread *td; | struct thread *td; |
| Line 194 nwfs_readvnode(struct vnode *vp, struct | Line 196 nwfs_readvnode(struct vnode *vp, struct |
| } | } |
| int | int |
| nwfs_writevnode(vp, uiop, cred, ioflag) | nwfs_writevnode(struct vnode *vp, struct uio *uiop, struct ucred *cred, |
| struct vnode *vp; | int ioflag) |
| struct uio *uiop; | |
| struct ucred *cred; | |
| int ioflag; | |
| { | { |
| struct nwmount *nmp = VTONWFS(vp); | struct nwmount *nmp = VTONWFS(vp); |
| struct nwnode *np = VTONW(vp); | struct nwnode *np = VTONW(vp); |
| Line 374 nwfs_doio(struct buf *bp, struct ucred * | Line 373 nwfs_doio(struct buf *bp, struct ucred * |
| /* | /* |
| * Vnode op for VM getpages. | * Vnode op for VM getpages. |
| * Wish wish .... get rid from multiple IO routines | * Wish wish .... get rid from multiple IO routines |
| * | |
| * nwfs_getpages(struct vnode *a_vp, vm_page_t *a_m, int a_count, | |
| * int a_reqpage, vm_ooffset_t a_offset) | |
| */ | */ |
| int | int |
| nwfs_getpages(ap) | nwfs_getpages(struct vop_getpages_args *ap) |
| struct vop_getpages_args /* { | |
| struct vnode *a_vp; | |
| vm_page_t *a_m; | |
| int a_count; | |
| int a_reqpage; | |
| vm_ooffset_t a_offset; | |
| } */ *ap; | |
| { | { |
| #ifndef NWFS_RWCACHE | #ifndef NWFS_RWCACHE |
| return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count, | return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count, |
| Line 494 nwfs_getpages(ap) | Line 489 nwfs_getpages(ap) |
| * possible bug: all IO done in sync mode | * possible bug: all IO done in sync mode |
| * Note that vop_close always invalidate pages before close, so it's | * Note that vop_close always invalidate pages before close, so it's |
| * not necessary to open vnode. | * not necessary to open vnode. |
| * | |
| * nwfs_putpages(struct vnode *a_vp, vm_page_t *a_m, int a_count, | |
| * int a_sync, int *a_rtvals, vm_ooffset_t a_offset) | |
| */ | */ |
| int | int |
| nwfs_putpages(ap) | nwfs_putpages(struct vop_putpages_args *ap) |
| struct vop_putpages_args /* { | |
| struct vnode *a_vp; | |
| vm_page_t *a_m; | |
| int a_count; | |
| int a_sync; | |
| int *a_rtvals; | |
| vm_ooffset_t a_offset; | |
| } */ *ap; | |
| { | { |
| int error; | int error; |
| struct thread *td = curthread; /* XXX */ | struct thread *td = curthread; /* XXX */ |
| Line 582 nwfs_putpages(ap) | Line 572 nwfs_putpages(ap) |
| * doing the flush, just wait for completion. | * doing the flush, just wait for completion. |
| */ | */ |
| int | int |
| nwfs_vinvalbuf(vp, flags, td, intrflg) | nwfs_vinvalbuf(struct vnode *vp, int flags, struct thread *td, int intrflg) |
| struct vnode *vp; | |
| int flags; | |
| struct thread *td; | |
| int intrflg; | |
| { | { |
| struct nwnode *np = VTONW(vp); | struct nwnode *np = VTONW(vp); |
| /* struct nwmount *nmp = VTONWFS(vp);*/ | /* struct nwmount *nmp = VTONWFS(vp);*/ |