Implement vop_std{get|put}pages() and add them to the default vop[].
Un-copy&paste all the VOP_{GET|PUT}PAGES() functions which do nothing but the default.
This commit is contained in:
parent
6ec52cf8be
commit
9f0c2a965a
@ -114,10 +114,7 @@ coda_fbsd_getpages(v)
|
||||
int ret = 0;
|
||||
|
||||
#if 1
|
||||
/* ??? a_offset */
|
||||
ret = vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
return ret;
|
||||
return vop_stdgetpages(ap);
|
||||
#else
|
||||
{
|
||||
struct vnode *vp = ap->a_vp;
|
||||
@ -176,14 +173,3 @@ printf("error = %d\n", error);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
coda_fbsd_putpages(v)
|
||||
void *v;
|
||||
{
|
||||
struct vop_putpages_args *ap = v;
|
||||
|
||||
/*??? a_offset */
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ struct vnodeopv_entry_desc coda_vnodeop_entries[] = {
|
||||
{ &vop_lease_desc, coda_vop_nop }, /* lease */
|
||||
{ &vop_poll_desc, (vop_t *) vop_stdpoll },
|
||||
{ &vop_getpages_desc, coda_fbsd_getpages }, /* pager intf.*/
|
||||
{ &vop_putpages_desc, coda_fbsd_putpages }, /* pager intf.*/
|
||||
{ &vop_putpages_desc, vop_stdputpages }, /* pager intf.*/
|
||||
|
||||
#if 0
|
||||
|
||||
|
@ -78,7 +78,6 @@ int coda_islocked __P((void *));
|
||||
int coda_vop_error __P((void *));
|
||||
int coda_vop_nop __P((void *));
|
||||
int coda_fbsd_getpages __P((void *));
|
||||
int coda_fbsd_putpages __P((void *));
|
||||
|
||||
int (**coda_vnodeop_p)(void *);
|
||||
|
||||
|
@ -76,8 +76,6 @@ static int cd9660_readdir __P((struct vop_readdir_args *));
|
||||
static int cd9660_readlink __P((struct vop_readlink_args *ap));
|
||||
static int cd9660_strategy __P((struct vop_strategy_args *));
|
||||
static int cd9660_print __P((struct vop_print_args *));
|
||||
static int cd9660_getpages __P((struct vop_getpages_args *));
|
||||
static int cd9660_putpages __P((struct vop_putpages_args *));
|
||||
|
||||
/*
|
||||
* Setattr call. Only allowed for block and character special devices.
|
||||
@ -785,34 +783,6 @@ cd9660_pathconf(ap)
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
/*
|
||||
* get page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
cd9660_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
}
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
cd9660_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
||||
/*
|
||||
* Global vfs data structures for cd9660
|
||||
*/
|
||||
@ -837,8 +807,6 @@ static struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
|
||||
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
|
||||
{ &vop_strategy_desc, (vop_t *) cd9660_strategy },
|
||||
{ &vop_unlock_desc, (vop_t *) vop_stdunlock },
|
||||
{ &vop_getpages_desc, (vop_t *) cd9660_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) cd9660_putpages },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
static struct vnodeopv_desc cd9660_vnodeop_opv_desc =
|
||||
|
@ -114,10 +114,7 @@ coda_fbsd_getpages(v)
|
||||
int ret = 0;
|
||||
|
||||
#if 1
|
||||
/* ??? a_offset */
|
||||
ret = vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
return ret;
|
||||
return vop_stdgetpages(ap);
|
||||
#else
|
||||
{
|
||||
struct vnode *vp = ap->a_vp;
|
||||
@ -176,14 +173,3 @@ printf("error = %d\n", error);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
coda_fbsd_putpages(v)
|
||||
void *v;
|
||||
{
|
||||
struct vop_putpages_args *ap = v;
|
||||
|
||||
/*??? a_offset */
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ struct vnodeopv_entry_desc coda_vnodeop_entries[] = {
|
||||
{ &vop_lease_desc, coda_vop_nop }, /* lease */
|
||||
{ &vop_poll_desc, (vop_t *) vop_stdpoll },
|
||||
{ &vop_getpages_desc, coda_fbsd_getpages }, /* pager intf.*/
|
||||
{ &vop_putpages_desc, coda_fbsd_putpages }, /* pager intf.*/
|
||||
{ &vop_putpages_desc, vop_stdputpages }, /* pager intf.*/
|
||||
|
||||
#if 0
|
||||
|
||||
|
@ -78,7 +78,6 @@ int coda_islocked __P((void *));
|
||||
int coda_vop_error __P((void *));
|
||||
int coda_vop_nop __P((void *));
|
||||
int coda_fbsd_getpages __P((void *));
|
||||
int coda_fbsd_putpages __P((void *));
|
||||
|
||||
int (**coda_vnodeop_p)(void *);
|
||||
|
||||
|
@ -88,8 +88,6 @@ static int hpfs_create __P((struct vop_create_args *));
|
||||
static int hpfs_remove __P((struct vop_remove_args *));
|
||||
static int hpfs_bmap __P((struct vop_bmap_args *ap));
|
||||
#if defined(__FreeBSD__)
|
||||
static int hpfs_getpages __P((struct vop_getpages_args *ap));
|
||||
static int hpfs_putpages __P((struct vop_putpages_args *));
|
||||
static int hpfs_fsync __P((struct vop_fsync_args *ap));
|
||||
#else
|
||||
static int hpfs_abortop __P((struct vop_abortop_args *));
|
||||
@ -97,21 +95,6 @@ static int hpfs_abortop __P((struct vop_abortop_args *));
|
||||
static int hpfs_pathconf __P((struct vop_pathconf_args *ap));
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
int
|
||||
hpfs_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
}
|
||||
|
||||
int
|
||||
hpfs_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
||||
static int
|
||||
hpfs_fsync(ap)
|
||||
@ -1356,8 +1339,8 @@ struct vnodeopv_entry_desc hpfs_vnodeop_entries[] = {
|
||||
{ &vop_readdir_desc, (vop_t *)hpfs_readdir },
|
||||
{ &vop_fsync_desc, (vop_t *)hpfs_fsync },
|
||||
{ &vop_bmap_desc, (vop_t *)hpfs_bmap },
|
||||
{ &vop_getpages_desc, (vop_t *) hpfs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) hpfs_putpages },
|
||||
{ &vop_getpages_desc, (vop_t *) vop_stdgetpages },
|
||||
{ &vop_putpages_desc, (vop_t *) vop_stdputpages },
|
||||
{ &vop_strategy_desc, (vop_t *)hpfs_strategy },
|
||||
{ &vop_read_desc, (vop_t *)hpfs_read },
|
||||
{ &vop_write_desc, (vop_t *)hpfs_write },
|
||||
|
@ -101,8 +101,6 @@ static int msdosfs_bmap __P((struct vop_bmap_args *));
|
||||
static int msdosfs_strategy __P((struct vop_strategy_args *));
|
||||
static int msdosfs_print __P((struct vop_print_args *));
|
||||
static int msdosfs_pathconf __P((struct vop_pathconf_args *ap));
|
||||
static int msdosfs_getpages __P((struct vop_getpages_args *));
|
||||
static int msdosfs_putpages __P((struct vop_putpages_args *));
|
||||
|
||||
/*
|
||||
* Some general notes:
|
||||
@ -1867,33 +1865,6 @@ msdosfs_pathconf(ap)
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
/*
|
||||
* get page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
msdosfs_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
}
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
msdosfs_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
||||
/* Global vfs data structures for msdosfs */
|
||||
vop_t **msdosfs_vnodeop_p;
|
||||
@ -1926,8 +1897,6 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
|
||||
{ &vop_symlink_desc, (vop_t *) msdosfs_symlink },
|
||||
{ &vop_unlock_desc, (vop_t *) vop_stdunlock },
|
||||
{ &vop_write_desc, (vop_t *) msdosfs_write },
|
||||
{ &vop_getpages_desc, (vop_t *) msdosfs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) msdosfs_putpages },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
static struct vnodeopv_desc msdosfs_vnodeop_opv_desc =
|
||||
|
@ -93,8 +93,6 @@ static int ntfs_readdir __P((struct vop_readdir_args *ap));
|
||||
static int ntfs_lookup __P((struct vop_lookup_args *ap));
|
||||
static int ntfs_bmap __P((struct vop_bmap_args *ap));
|
||||
#if defined(__FreeBSD__)
|
||||
static int ntfs_getpages __P((struct vop_getpages_args *ap));
|
||||
static int ntfs_putpages __P((struct vop_putpages_args *));
|
||||
static int ntfs_fsync __P((struct vop_fsync_args *ap));
|
||||
#else
|
||||
static int ntfs_bypass __P((struct vop_generic_args *ap));
|
||||
@ -103,24 +101,6 @@ static int ntfs_pathconf __P((void *));
|
||||
|
||||
int ntfs_prtactive = 1; /* 1 => print out reclaim of active vnodes */
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
int
|
||||
ntfs_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
}
|
||||
|
||||
int
|
||||
ntfs_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__NetBSD__)
|
||||
/*
|
||||
* This is a noop, simply returning what one has been given.
|
||||
@ -869,8 +849,6 @@ struct vnodeopv_entry_desc ntfs_vnodeop_entries[] = {
|
||||
{ &vop_readdir_desc, (vop_t *)ntfs_readdir },
|
||||
{ &vop_fsync_desc, (vop_t *)ntfs_fsync },
|
||||
|
||||
{ &vop_getpages_desc, (vop_t *) ntfs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) ntfs_putpages },
|
||||
{ &vop_strategy_desc, (vop_t *)ntfs_strategy },
|
||||
{ &vop_read_desc, (vop_t *)ntfs_read },
|
||||
{ &vop_write_desc, (vop_t *)ntfs_write },
|
||||
|
@ -393,8 +393,7 @@ nwfs_getpages(ap)
|
||||
} */ *ap;
|
||||
{
|
||||
#ifndef NWFS_RWCACHE
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
return vop_stdgetpages(ap);(ap->a_vp, ap->a_m, ap->a_count,
|
||||
#else
|
||||
int i, error, nextoff, size, toff, npages, count;
|
||||
struct uio uio;
|
||||
@ -521,8 +520,7 @@ nwfs_putpages(ap)
|
||||
p = curproc; /* XXX */
|
||||
cred = p->p_ucred; /* XXX */
|
||||
VOP_OPEN(vp, FWRITE, cred, p);
|
||||
error = vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
error = vop_stdputpages(ap);
|
||||
VOP_CLOSE(vp, FWRITE, cred, p);
|
||||
return error;
|
||||
#else
|
||||
|
@ -409,8 +409,7 @@ smbfs_getpages(ap)
|
||||
} */ *ap;
|
||||
{
|
||||
#ifdef SMBFS_RWGENERIC
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
return vop_stdgetpages(ap);
|
||||
#else
|
||||
int i, error, nextoff, size, toff, npages, count;
|
||||
struct uio uio;
|
||||
@ -547,8 +546,7 @@ smbfs_putpages(ap)
|
||||
p = curproc; /* XXX */
|
||||
cred = p->p_ucred; /* XXX */
|
||||
VOP_OPEN(vp, FWRITE, cred, p);
|
||||
error = vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
error = vop_stdputpages(ap);
|
||||
VOP_CLOSE(vp, FWRITE, cred, p);
|
||||
return error;
|
||||
#else
|
||||
|
@ -99,8 +99,6 @@ static int union_rmdir __P((struct vop_rmdir_args *ap));
|
||||
static int union_poll __P((struct vop_poll_args *ap));
|
||||
static int union_setattr __P((struct vop_setattr_args *ap));
|
||||
static int union_strategy __P((struct vop_strategy_args *ap));
|
||||
static int union_getpages __P((struct vop_getpages_args *ap));
|
||||
static int union_putpages __P((struct vop_putpages_args *ap));
|
||||
static int union_symlink __P((struct vop_symlink_args *ap));
|
||||
static int union_unlock __P((struct vop_unlock_args *ap));
|
||||
static int union_whiteout __P((struct vop_whiteout_args *ap));
|
||||
@ -1014,34 +1012,6 @@ union_setattr(ap)
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*
|
||||
* union_getpages:
|
||||
*/
|
||||
|
||||
static int
|
||||
union_getpages(struct vop_getpages_args *ap)
|
||||
{
|
||||
int r;
|
||||
|
||||
r = vnode_pager_generic_getpages(ap->a_vp, ap->a_m,
|
||||
ap->a_count, ap->a_reqpage);
|
||||
return(r);
|
||||
}
|
||||
|
||||
/*
|
||||
* union_putpages:
|
||||
*/
|
||||
|
||||
static int
|
||||
union_putpages(struct vop_putpages_args *ap)
|
||||
{
|
||||
int r;
|
||||
|
||||
r = vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
return(r);
|
||||
}
|
||||
|
||||
static int
|
||||
union_read(ap)
|
||||
struct vop_read_args /* {
|
||||
@ -1919,8 +1889,6 @@ static struct vnodeopv_entry_desc union_vnodeop_entries[] = {
|
||||
{ &vop_close_desc, (vop_t *) union_close },
|
||||
{ &vop_create_desc, (vop_t *) union_create },
|
||||
{ &vop_fsync_desc, (vop_t *) union_fsync },
|
||||
{ &vop_getpages_desc, (vop_t *) union_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) union_putpages },
|
||||
{ &vop_getattr_desc, (vop_t *) union_getattr },
|
||||
{ &vop_inactive_desc, (vop_t *) union_inactive },
|
||||
{ &vop_ioctl_desc, (vop_t *) union_ioctl },
|
||||
|
@ -92,8 +92,6 @@ static int ext2_rmdir __P((struct vop_rmdir_args *));
|
||||
static int ext2_create __P((struct vop_create_args *));
|
||||
static int ext2_mknod __P((struct vop_mknod_args *));
|
||||
static int ext2_symlink __P((struct vop_symlink_args *));
|
||||
static int ext2_getpages __P((struct vop_getpages_args *));
|
||||
static int ext2_putpages __P((struct vop_putpages_args *));
|
||||
|
||||
/* Global vfs data structures for ufs. */
|
||||
vop_t **ext2_vnodeop_p;
|
||||
@ -115,8 +113,6 @@ static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
|
||||
{ &vop_create_desc, (vop_t *) ext2_create },
|
||||
{ &vop_mknod_desc, (vop_t *) ext2_mknod },
|
||||
{ &vop_symlink_desc, (vop_t *) ext2_symlink },
|
||||
{ &vop_getpages_desc, (vop_t *) ext2_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) ext2_putpages },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
static struct vnodeopv_desc ext2fs_vnodeop_opv_desc =
|
||||
@ -1186,31 +1182,3 @@ ext2_makeinode(mode, dvp, vpp, cnp)
|
||||
vput(tvp);
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*
|
||||
* get page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
static int
|
||||
ext2_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return (vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage));
|
||||
}
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
static int
|
||||
ext2_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return (vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals));
|
||||
}
|
||||
|
@ -92,8 +92,6 @@ static int ext2_rmdir __P((struct vop_rmdir_args *));
|
||||
static int ext2_create __P((struct vop_create_args *));
|
||||
static int ext2_mknod __P((struct vop_mknod_args *));
|
||||
static int ext2_symlink __P((struct vop_symlink_args *));
|
||||
static int ext2_getpages __P((struct vop_getpages_args *));
|
||||
static int ext2_putpages __P((struct vop_putpages_args *));
|
||||
|
||||
/* Global vfs data structures for ufs. */
|
||||
vop_t **ext2_vnodeop_p;
|
||||
@ -115,8 +113,6 @@ static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = {
|
||||
{ &vop_create_desc, (vop_t *) ext2_create },
|
||||
{ &vop_mknod_desc, (vop_t *) ext2_mknod },
|
||||
{ &vop_symlink_desc, (vop_t *) ext2_symlink },
|
||||
{ &vop_getpages_desc, (vop_t *) ext2_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) ext2_putpages },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
static struct vnodeopv_desc ext2fs_vnodeop_opv_desc =
|
||||
@ -1186,31 +1182,3 @@ ext2_makeinode(mode, dvp, vpp, cnp)
|
||||
vput(tvp);
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*
|
||||
* get page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
static int
|
||||
ext2_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return (vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage));
|
||||
}
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
static int
|
||||
ext2_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return (vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals));
|
||||
}
|
||||
|
@ -76,8 +76,6 @@ static int cd9660_readdir __P((struct vop_readdir_args *));
|
||||
static int cd9660_readlink __P((struct vop_readlink_args *ap));
|
||||
static int cd9660_strategy __P((struct vop_strategy_args *));
|
||||
static int cd9660_print __P((struct vop_print_args *));
|
||||
static int cd9660_getpages __P((struct vop_getpages_args *));
|
||||
static int cd9660_putpages __P((struct vop_putpages_args *));
|
||||
|
||||
/*
|
||||
* Setattr call. Only allowed for block and character special devices.
|
||||
@ -785,34 +783,6 @@ cd9660_pathconf(ap)
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
/*
|
||||
* get page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
cd9660_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
}
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
cd9660_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
||||
/*
|
||||
* Global vfs data structures for cd9660
|
||||
*/
|
||||
@ -837,8 +807,6 @@ static struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
|
||||
{ &vop_setattr_desc, (vop_t *) cd9660_setattr },
|
||||
{ &vop_strategy_desc, (vop_t *) cd9660_strategy },
|
||||
{ &vop_unlock_desc, (vop_t *) vop_stdunlock },
|
||||
{ &vop_getpages_desc, (vop_t *) cd9660_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) cd9660_putpages },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
static struct vnodeopv_desc cd9660_vnodeop_opv_desc =
|
||||
|
@ -85,6 +85,7 @@ static struct vnodeopv_entry_desc default_vnodeop_entries[] = {
|
||||
{ &vop_createvobject_desc, (vop_t *) vop_stdcreatevobject },
|
||||
{ &vop_destroyvobject_desc, (vop_t *) vop_stddestroyvobject },
|
||||
{ &vop_fsync_desc, (vop_t *) vop_null },
|
||||
{ &vop_getpages_desc, (vop_t *) vop_stdgetpages },
|
||||
{ &vop_getvobject_desc, (vop_t *) vop_stdgetvobject },
|
||||
{ &vop_inactive_desc, (vop_t *) vop_stdinactive },
|
||||
{ &vop_ioctl_desc, (vop_t *) vop_enotty },
|
||||
@ -94,6 +95,7 @@ static struct vnodeopv_entry_desc default_vnodeop_entries[] = {
|
||||
{ &vop_lookup_desc, (vop_t *) vop_nolookup },
|
||||
{ &vop_open_desc, (vop_t *) vop_null },
|
||||
{ &vop_pathconf_desc, (vop_t *) vop_einval },
|
||||
{ &vop_putpages_desc, (vop_t *) vop_stdputpages },
|
||||
{ &vop_poll_desc, (vop_t *) vop_nopoll },
|
||||
{ &vop_readlink_desc, (vop_t *) vop_einval },
|
||||
{ &vop_revoke_desc, (vop_t *) vop_revoke },
|
||||
@ -633,6 +635,37 @@ vop_stdbmap(ap)
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
vop_stdgetpages(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;
|
||||
{
|
||||
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m,
|
||||
ap->a_count, ap->a_reqpage);
|
||||
}
|
||||
|
||||
vop_stdputpages(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;
|
||||
{
|
||||
|
||||
vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* vfs default ops
|
||||
|
@ -99,8 +99,6 @@ static int union_rmdir __P((struct vop_rmdir_args *ap));
|
||||
static int union_poll __P((struct vop_poll_args *ap));
|
||||
static int union_setattr __P((struct vop_setattr_args *ap));
|
||||
static int union_strategy __P((struct vop_strategy_args *ap));
|
||||
static int union_getpages __P((struct vop_getpages_args *ap));
|
||||
static int union_putpages __P((struct vop_putpages_args *ap));
|
||||
static int union_symlink __P((struct vop_symlink_args *ap));
|
||||
static int union_unlock __P((struct vop_unlock_args *ap));
|
||||
static int union_whiteout __P((struct vop_whiteout_args *ap));
|
||||
@ -1014,34 +1012,6 @@ union_setattr(ap)
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*
|
||||
* union_getpages:
|
||||
*/
|
||||
|
||||
static int
|
||||
union_getpages(struct vop_getpages_args *ap)
|
||||
{
|
||||
int r;
|
||||
|
||||
r = vnode_pager_generic_getpages(ap->a_vp, ap->a_m,
|
||||
ap->a_count, ap->a_reqpage);
|
||||
return(r);
|
||||
}
|
||||
|
||||
/*
|
||||
* union_putpages:
|
||||
*/
|
||||
|
||||
static int
|
||||
union_putpages(struct vop_putpages_args *ap)
|
||||
{
|
||||
int r;
|
||||
|
||||
r = vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
return(r);
|
||||
}
|
||||
|
||||
static int
|
||||
union_read(ap)
|
||||
struct vop_read_args /* {
|
||||
@ -1919,8 +1889,6 @@ static struct vnodeopv_entry_desc union_vnodeop_entries[] = {
|
||||
{ &vop_close_desc, (vop_t *) union_close },
|
||||
{ &vop_create_desc, (vop_t *) union_create },
|
||||
{ &vop_fsync_desc, (vop_t *) union_fsync },
|
||||
{ &vop_getpages_desc, (vop_t *) union_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) union_putpages },
|
||||
{ &vop_getattr_desc, (vop_t *) union_getattr },
|
||||
{ &vop_inactive_desc, (vop_t *) union_inactive },
|
||||
{ &vop_ioctl_desc, (vop_t *) union_ioctl },
|
||||
|
@ -101,8 +101,6 @@ static int msdosfs_bmap __P((struct vop_bmap_args *));
|
||||
static int msdosfs_strategy __P((struct vop_strategy_args *));
|
||||
static int msdosfs_print __P((struct vop_print_args *));
|
||||
static int msdosfs_pathconf __P((struct vop_pathconf_args *ap));
|
||||
static int msdosfs_getpages __P((struct vop_getpages_args *));
|
||||
static int msdosfs_putpages __P((struct vop_putpages_args *));
|
||||
|
||||
/*
|
||||
* Some general notes:
|
||||
@ -1867,33 +1865,6 @@ msdosfs_pathconf(ap)
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
/*
|
||||
* get page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
msdosfs_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
}
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
msdosfs_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
||||
/* Global vfs data structures for msdosfs */
|
||||
vop_t **msdosfs_vnodeop_p;
|
||||
@ -1926,8 +1897,6 @@ static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
|
||||
{ &vop_symlink_desc, (vop_t *) msdosfs_symlink },
|
||||
{ &vop_unlock_desc, (vop_t *) vop_stdunlock },
|
||||
{ &vop_write_desc, (vop_t *) msdosfs_write },
|
||||
{ &vop_getpages_desc, (vop_t *) msdosfs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) msdosfs_putpages },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
static struct vnodeopv_desc msdosfs_vnodeop_opv_desc =
|
||||
|
@ -93,8 +93,6 @@ static int ntfs_readdir __P((struct vop_readdir_args *ap));
|
||||
static int ntfs_lookup __P((struct vop_lookup_args *ap));
|
||||
static int ntfs_bmap __P((struct vop_bmap_args *ap));
|
||||
#if defined(__FreeBSD__)
|
||||
static int ntfs_getpages __P((struct vop_getpages_args *ap));
|
||||
static int ntfs_putpages __P((struct vop_putpages_args *));
|
||||
static int ntfs_fsync __P((struct vop_fsync_args *ap));
|
||||
#else
|
||||
static int ntfs_bypass __P((struct vop_generic_args *ap));
|
||||
@ -103,24 +101,6 @@ static int ntfs_pathconf __P((void *));
|
||||
|
||||
int ntfs_prtactive = 1; /* 1 => print out reclaim of active vnodes */
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
int
|
||||
ntfs_getpages(ap)
|
||||
struct vop_getpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
}
|
||||
|
||||
int
|
||||
ntfs_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__NetBSD__)
|
||||
/*
|
||||
* This is a noop, simply returning what one has been given.
|
||||
@ -869,8 +849,6 @@ struct vnodeopv_entry_desc ntfs_vnodeop_entries[] = {
|
||||
{ &vop_readdir_desc, (vop_t *)ntfs_readdir },
|
||||
{ &vop_fsync_desc, (vop_t *)ntfs_fsync },
|
||||
|
||||
{ &vop_getpages_desc, (vop_t *) ntfs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) ntfs_putpages },
|
||||
{ &vop_strategy_desc, (vop_t *)ntfs_strategy },
|
||||
{ &vop_read_desc, (vop_t *)ntfs_read },
|
||||
{ &vop_write_desc, (vop_t *)ntfs_write },
|
||||
|
@ -393,8 +393,7 @@ nwfs_getpages(ap)
|
||||
} */ *ap;
|
||||
{
|
||||
#ifndef NWFS_RWCACHE
|
||||
return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_reqpage);
|
||||
return vop_stdgetpages(ap);(ap->a_vp, ap->a_m, ap->a_count,
|
||||
#else
|
||||
int i, error, nextoff, size, toff, npages, count;
|
||||
struct uio uio;
|
||||
@ -521,8 +520,7 @@ nwfs_putpages(ap)
|
||||
p = curproc; /* XXX */
|
||||
cred = p->p_ucred; /* XXX */
|
||||
VOP_OPEN(vp, FWRITE, cred, p);
|
||||
error = vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
error = vop_stdputpages(ap);
|
||||
VOP_CLOSE(vp, FWRITE, cred, p);
|
||||
return error;
|
||||
#else
|
||||
|
@ -628,9 +628,11 @@ void vfs_write_resume __P((struct mount *mp));
|
||||
void vfs_write_suspend __P((struct mount *mp));
|
||||
int vop_stdbmap __P((struct vop_bmap_args *));
|
||||
int vop_stdgetwritemount __P((struct vop_getwritemount_args *));
|
||||
int vop_stdgetpages __P((struct vop_getpages_args *));
|
||||
int vop_stdinactive __P((struct vop_inactive_args *));
|
||||
int vop_stdislocked __P((struct vop_islocked_args *));
|
||||
int vop_stdlock __P((struct vop_lock_args *));
|
||||
int vop_stdputpages __P((struct vop_putpages_args *));
|
||||
int vop_stdunlock __P((struct vop_unlock_args *));
|
||||
int vop_noislocked __P((struct vop_islocked_args *));
|
||||
int vop_nolock __P((struct vop_lock_args *));
|
||||
|
@ -67,7 +67,6 @@
|
||||
|
||||
int ffs_fsync __P((struct vop_fsync_args *));
|
||||
static int ffs_getpages __P((struct vop_getpages_args *));
|
||||
static int ffs_putpages __P((struct vop_putpages_args *));
|
||||
static int ffs_read __P((struct vop_read_args *));
|
||||
static int ffs_write __P((struct vop_write_args *));
|
||||
|
||||
@ -77,7 +76,6 @@ static struct vnodeopv_entry_desc ffs_vnodeop_entries[] = {
|
||||
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
|
||||
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
|
||||
{ &vop_getpages_desc, (vop_t *) ffs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) ffs_putpages },
|
||||
{ &vop_read_desc, (vop_t *) ffs_read },
|
||||
{ &vop_reallocblks_desc, (vop_t *) ffs_reallocblks },
|
||||
{ &vop_write_desc, (vop_t *) ffs_write },
|
||||
|
@ -77,7 +77,6 @@
|
||||
/* Declare our trampling into the FFS code */
|
||||
extern int ffs_fsync (struct vop_fsync_args *);
|
||||
static int ffs_getpages(struct vop_getpages_args *);
|
||||
static int ffs_putpages(struct vop_putpages_args *);
|
||||
static int ffs_read(struct vop_read_args *);
|
||||
static int ffs_write(struct vop_write_args *);
|
||||
|
||||
@ -98,7 +97,6 @@ static struct vnodeopv_entry_desc ifs_vnodeop_entries[] = {
|
||||
{ &vop_default_desc, (vop_t *) ufs_vnoperate },
|
||||
{ &vop_fsync_desc, (vop_t *) ffs_fsync },
|
||||
{ &vop_getpages_desc, (vop_t *) ffs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) ffs_putpages },
|
||||
{ &vop_read_desc, (vop_t *) ffs_read },
|
||||
{ &vop_reallocblks_desc, (vop_t *) ffs_reallocblks },
|
||||
{ &vop_write_desc, (vop_t *) ffs_write },
|
||||
|
@ -687,17 +687,3 @@ ffs_getpages(ap)
|
||||
|
||||
return (rtval);
|
||||
}
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
ffs_putpages(ap)
|
||||
struct vop_putpages_args *ap;
|
||||
{
|
||||
return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count,
|
||||
ap->a_sync, ap->a_rtvals);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user