mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 12:54:27 +00:00
Trivial filesystem getpages/putpages implementations, set the second.
These should be considered the first steps in a work-in-progress. Submitted by: Terry Lambert <terry@freebsd.org>
This commit is contained in:
parent
2840666108
commit
651ae11e2f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=34096
|
@ -36,7 +36,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
|
||||
* $Id: cd9660_vnops.c,v 1.50 1997/11/18 14:40:36 phk Exp $
|
||||
* $Id: cd9660_vnops.c,v 1.51 1997/12/27 02:56:20 bde Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -53,7 +53,9 @@
|
|||
#include <sys/dirent.h>
|
||||
#include <sys/unistd.h>
|
||||
|
||||
#include <vm/vm.h>
|
||||
#include <vm/vm_zone.h>
|
||||
#include <vm/vnode_pager.h>
|
||||
|
||||
#include <isofs/cd9660/iso.h>
|
||||
#include <isofs/cd9660/cd9660_node.h>
|
||||
|
@ -73,6 +75,8 @@ static int cd9660_readlink __P((struct vop_readlink_args *ap));
|
|||
static int cd9660_abortop __P((struct vop_abortop_args *));
|
||||
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.
|
||||
|
@ -809,6 +813,34 @@ 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
|
||||
*/
|
||||
|
@ -833,6 +865,8 @@ 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 =
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: msdosfs_vnops.c,v 1.63 1998/03/01 21:26:09 msmith Exp $ */
|
||||
/* $Id: msdosfs_vnops.c,v 1.64 1998/03/03 02:50:24 msmith Exp $ */
|
||||
/* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */
|
||||
|
||||
/*-
|
||||
|
@ -67,6 +67,7 @@
|
|||
#include <vm/vm.h>
|
||||
#include <vm/vm_extern.h>
|
||||
#include <vm/vm_zone.h>
|
||||
#include <vm/vnode_pager.h>
|
||||
|
||||
#include <msdosfs/bpb.h>
|
||||
#include <msdosfs/direntry.h>
|
||||
|
@ -98,6 +99,8 @@ 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:
|
||||
|
@ -1928,6 +1931,34 @@ 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;
|
||||
static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
|
||||
|
@ -1960,6 +1991,8 @@ 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 =
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
|
||||
* $Id: cd9660_vnops.c,v 1.50 1997/11/18 14:40:36 phk Exp $
|
||||
* $Id: cd9660_vnops.c,v 1.51 1997/12/27 02:56:20 bde Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
|
@ -53,7 +53,9 @@
|
|||
#include <sys/dirent.h>
|
||||
#include <sys/unistd.h>
|
||||
|
||||
#include <vm/vm.h>
|
||||
#include <vm/vm_zone.h>
|
||||
#include <vm/vnode_pager.h>
|
||||
|
||||
#include <isofs/cd9660/iso.h>
|
||||
#include <isofs/cd9660/cd9660_node.h>
|
||||
|
@ -73,6 +75,8 @@ static int cd9660_readlink __P((struct vop_readlink_args *ap));
|
|||
static int cd9660_abortop __P((struct vop_abortop_args *));
|
||||
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.
|
||||
|
@ -809,6 +813,34 @@ 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
|
||||
*/
|
||||
|
@ -833,6 +865,8 @@ 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 =
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: msdosfs_vnops.c,v 1.63 1998/03/01 21:26:09 msmith Exp $ */
|
||||
/* $Id: msdosfs_vnops.c,v 1.64 1998/03/03 02:50:24 msmith Exp $ */
|
||||
/* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */
|
||||
|
||||
/*-
|
||||
|
@ -67,6 +67,7 @@
|
|||
#include <vm/vm.h>
|
||||
#include <vm/vm_extern.h>
|
||||
#include <vm/vm_zone.h>
|
||||
#include <vm/vnode_pager.h>
|
||||
|
||||
#include <msdosfs/bpb.h>
|
||||
#include <msdosfs/direntry.h>
|
||||
|
@ -98,6 +99,8 @@ 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:
|
||||
|
@ -1928,6 +1931,34 @@ 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;
|
||||
static struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
|
||||
|
@ -1960,6 +1991,8 @@ 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 =
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)nfs_bio.c 8.9 (Berkeley) 3/30/95
|
||||
* $Id: nfs_bio.c,v 1.49 1998/02/04 22:33:13 eivind Exp $
|
||||
* $Id: nfs_bio.c,v 1.50 1998/02/06 12:13:55 eivind Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -115,6 +115,21 @@ nfs_getpages(ap)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
nfs_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);
|
||||
}
|
||||
|
||||
/*
|
||||
* Vnode op for read using bio
|
||||
* Any similarity to readip() is purely coincidental
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
|
||||
* $Id: nfs_vnops.c,v 1.77 1998/02/04 22:33:17 eivind Exp $
|
||||
* $Id: nfs_vnops.c,v 1.78 1998/02/06 12:13:58 eivind Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -144,6 +144,7 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
|
|||
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
|
||||
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
|
||||
{ &vop_getpages_desc, (vop_t *) nfs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) nfs_putpages },
|
||||
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
|
||||
{ &vop_lease_desc, (vop_t *) vop_null },
|
||||
{ &vop_link_desc, (vop_t *) nfs_link },
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)nfsnode.h 8.9 (Berkeley) 5/14/95
|
||||
* $Id: nfsnode.h,v 1.23 1997/10/16 10:49:05 phk Exp $
|
||||
* $Id: nfsnode.h,v 1.24 1997/10/28 14:06:25 bde Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -162,6 +162,7 @@ extern vop_t **spec_nfsv2nodeop_p;
|
|||
* Prototypes for NFS vnode operations
|
||||
*/
|
||||
int nfs_getpages __P((struct vop_getpages_args *));
|
||||
int nfs_putpages __P((struct vop_putpages_args *));
|
||||
int nfs_write __P((struct vop_write_args *));
|
||||
int nqnfs_vop_lease_check __P((struct vop_lease_args *));
|
||||
int nfs_abortop __P((struct vop_abortop_args *));
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)nfs_bio.c 8.9 (Berkeley) 3/30/95
|
||||
* $Id: nfs_bio.c,v 1.49 1998/02/04 22:33:13 eivind Exp $
|
||||
* $Id: nfs_bio.c,v 1.50 1998/02/06 12:13:55 eivind Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -115,6 +115,21 @@ nfs_getpages(ap)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* put page routine
|
||||
*
|
||||
* XXX By default, wimp out... note that a_offset is ignored (and always
|
||||
* XXX has been).
|
||||
*/
|
||||
int
|
||||
nfs_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);
|
||||
}
|
||||
|
||||
/*
|
||||
* Vnode op for read using bio
|
||||
* Any similarity to readip() is purely coincidental
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
|
||||
* $Id: nfs_vnops.c,v 1.77 1998/02/04 22:33:17 eivind Exp $
|
||||
* $Id: nfs_vnops.c,v 1.78 1998/02/06 12:13:58 eivind Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -144,6 +144,7 @@ static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = {
|
|||
{ &vop_fsync_desc, (vop_t *) nfs_fsync },
|
||||
{ &vop_getattr_desc, (vop_t *) nfs_getattr },
|
||||
{ &vop_getpages_desc, (vop_t *) nfs_getpages },
|
||||
{ &vop_putpages_desc, (vop_t *) nfs_putpages },
|
||||
{ &vop_inactive_desc, (vop_t *) nfs_inactive },
|
||||
{ &vop_lease_desc, (vop_t *) vop_null },
|
||||
{ &vop_link_desc, (vop_t *) nfs_link },
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)nfsnode.h 8.9 (Berkeley) 5/14/95
|
||||
* $Id: nfsnode.h,v 1.23 1997/10/16 10:49:05 phk Exp $
|
||||
* $Id: nfsnode.h,v 1.24 1997/10/28 14:06:25 bde Exp $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -162,6 +162,7 @@ extern vop_t **spec_nfsv2nodeop_p;
|
|||
* Prototypes for NFS vnode operations
|
||||
*/
|
||||
int nfs_getpages __P((struct vop_getpages_args *));
|
||||
int nfs_putpages __P((struct vop_putpages_args *));
|
||||
int nfs_write __P((struct vop_write_args *));
|
||||
int nqnfs_vop_lease_check __P((struct vop_lease_args *));
|
||||
int nfs_abortop __P((struct vop_abortop_args *));
|
||||
|
|
Loading…
Reference in a new issue