FreeBSD kernel kern code
vfs_default.c File Reference
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bio.h>
#include <sys/buf.h>
#include <sys/conf.h>
#include <sys/event.h>
#include <sys/kernel.h>
#include <sys/limits.h>
#include <sys/lock.h>
#include <sys/lockf.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/namei.h>
#include <sys/fcntl.h>
#include <sys/unistd.h>
#include <sys/vnode.h>
#include <sys/dirent.h>
#include <sys/poll.h>
#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/vm_object.h>
#include <vm/vm_extern.h>
#include <vm/pmap.h>
#include <vm/vm_map.h>
#include <vm/vm_page.h>
#include <vm/vm_pager.h>
#include <vm/vnode_pager.h>
Include dependency graph for vfs_default.c:

Go to the source code of this file.

Macros

#define DIRENT_MINSIZE   (sizeof(struct dirent) - (MAXNAMLEN+1) + 4)
 

Functions

 __FBSDID ("$BSDSUniX$")
 
static int vop_nolookup (struct vop_lookup_args *)
 
static int vop_norename (struct vop_rename_args *)
 
static int vop_nostrategy (struct vop_strategy_args *)
 
static int get_next_dirent (struct vnode *vp, struct dirent **dpp, char *dirbuf, int dirbuflen, off_t *off, char **cpos, int *len, int *eofflag, struct thread *td)
 
static int dirent_exists (struct vnode *vp, const char *dirname, struct thread *td)
 
static int vop_stdis_text (struct vop_is_text_args *ap)
 
static int vop_stdset_text (struct vop_set_text_args *ap)
 
static int vop_stdunset_text (struct vop_unset_text_args *ap)
 
static int vop_stdget_writecount (struct vop_get_writecount_args *ap)
 
static int vop_stdadd_writecount (struct vop_add_writecount_args *ap)
 
int vop_eopnotsupp (struct vop_generic_args *ap)
 
int vop_ebadf (struct vop_generic_args *ap)
 
int vop_enotty (struct vop_generic_args *ap)
 
int vop_einval (struct vop_generic_args *ap)
 
int vop_enoent (struct vop_generic_args *ap)
 
int vop_null (struct vop_generic_args *ap)
 
int vop_panic (struct vop_generic_args *ap)
 
int vop_stdaccess (struct vop_access_args *ap)
 
int vop_stdaccessx (struct vop_accessx_args *ap)
 
int vop_stdadvlock (struct vop_advlock_args *ap)
 
int vop_stdadvlockasync (struct vop_advlockasync_args *ap)
 
int vop_stdadvlockpurge (struct vop_advlockpurge_args *ap)
 
int vop_stdpathconf (struct vop_pathconf_args *ap)
 
int vop_stdlock (struct vop_lock1_args *ap)
 
int vop_stdunlock (struct vop_unlock_args *ap)
 
int vop_stdislocked (struct vop_islocked_args *ap)
 
int vop_nopoll (struct vop_poll_args *ap)
 
int vop_stdpoll (struct vop_poll_args *ap)
 
int vop_stdgetwritemount (struct vop_getwritemount_args *ap)
 
int vop_stdbmap (struct vop_bmap_args *ap)
 
int vop_stdfsync (struct vop_fsync_args *ap)
 
int vop_stdgetpages (struct vop_getpages_args *ap)
 
int vop_stdkqfilter (struct vop_kqfilter_args *ap)
 
int vop_stdputpages (struct vop_putpages_args *ap)
 
int vop_stdvptofh (struct vop_vptofh_args *ap)
 
int vop_stdvptocnp (struct vop_vptocnp_args *ap)
 
int vop_stdallocate (struct vop_allocate_args *ap)
 
int vop_stdadvise (struct vop_advise_args *ap)
 
int vop_stdunp_bind (struct vop_unp_bind_args *ap)
 
int vop_stdunp_connect (struct vop_unp_connect_args *ap)
 
int vop_stdunp_detach (struct vop_unp_detach_args *ap)
 
int vfs_stdroot (struct mount *mp, int flags, struct vnode **vpp)
 
int vfs_stdstatfs (struct mount *mp, struct statfs *sbp)
 
int vfs_stdquotactl (struct mount *mp, int cmds, uid_t uid, void *arg)
 
int vfs_stdsync (struct mount *mp, int waitfor)
 
int vfs_stdnosync (struct mount *mp, int waitfor)
 
int vfs_stdvget (struct mount *mp, ino_t ino, int flags, struct vnode **vpp)
 
int vfs_stdfhtovp (struct mount *mp, struct fid *fhp, int flags, struct vnode **vpp)
 
int vfs_stdinit (struct vfsconf *vfsp)
 
int vfs_stduninit (struct vfsconf *vfsp)
 
int vfs_stdextattrctl (struct mount *mp, int cmd, struct vnode *filename_vp, int attrnamespace, const char *attrname)
 
int vfs_stdsysctl (struct mount *mp, fsctlop_t op, struct sysctl_req *req)
 

Variables

struct vop_vector default_vnodeops
 

Macro Definition Documentation

#define DIRENT_MINSIZE   (sizeof(struct dirent) - (MAXNAMLEN+1) + 4)

Definition at line 79 of file vfs_default.c.

Referenced by get_next_dirent().

Function Documentation

__FBSDID ( "$BSDSUniX$"  )
static int dirent_exists ( struct vnode *  vp,
const char *  dirname,
struct thread *  td 
)
static

Definition at line 327 of file vfs_default.c.

References free(), get_next_dirent(), and malloc().

Referenced by vop_stdvptocnp().

Here is the call graph for this function:

Here is the caller graph for this function:

static int get_next_dirent ( struct vnode *  vp,
struct dirent **  dpp,
char *  dirbuf,
int  dirbuflen,
off_t *  off,
char **  cpos,
int *  len,
int *  eofflag,
struct thread *  td 
)
static

Definition at line 265 of file vfs_default.c.

References DIRENT_MINSIZE.

Referenced by dirent_exists(), and vop_stdvptocnp().

Here is the caller graph for this function:

int vfs_stdextattrctl ( struct mount *  mp,
int  cmd,
struct vnode *  filename_vp,
int  attrnamespace,
const char *  attrname 
)

Definition at line 1258 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdfhtovp ( struct mount *  mp,
struct fid *  fhp,
int  flags,
struct vnode **  vpp 
)

Definition at line 1231 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdinit ( struct vfsconf vfsp)

Definition at line 1242 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdnosync ( struct mount *  mp,
int  waitfor 
)

Definition at line 1211 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdquotactl ( struct mount *  mp,
int  cmds,
uid_t  uid,
void *  arg 
)

Definition at line 1163 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdroot ( struct mount *  mp,
int  flags,
struct vnode **  vpp 
)

Definition at line 1144 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdstatfs ( struct mount *  mp,
struct statfs *  sbp 
)

Definition at line 1154 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdsync ( struct mount *  mp,
int  waitfor 
)

Definition at line 1174 of file vfs_default.c.

References vget(), and vput().

Here is the call graph for this function:

int vfs_stdsysctl ( struct mount *  mp,
fsctlop_t  op,
struct sysctl_req *  req 
)

Definition at line 1272 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stduninit ( struct vfsconf vfsp)

Definition at line 1250 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vfs_stdvget ( struct mount *  mp,
ino_t  ino,
int  flags,
struct vnode **  vpp 
)

Definition at line 1220 of file vfs_default.c.

Referenced by vfs_register().

Here is the caller graph for this function:

int vop_ebadf ( struct vop_generic_args *  ap)

Definition at line 158 of file vfs_default.c.

int vop_einval ( struct vop_generic_args *  ap)

Definition at line 172 of file vfs_default.c.

int vop_enoent ( struct vop_generic_args *  ap)

Definition at line 179 of file vfs_default.c.

int vop_enotty ( struct vop_generic_args *  ap)

Definition at line 165 of file vfs_default.c.

int vop_eopnotsupp ( struct vop_generic_args *  ap)

Definition at line 148 of file vfs_default.c.

static int vop_nolookup ( struct vop_lookup_args *  ap)
static

Definition at line 215 of file vfs_default.c.

int vop_nopoll ( struct vop_poll_args *  ap)

Definition at line 550 of file vfs_default.c.

References poll_no_poll().

Here is the call graph for this function:

static int vop_norename ( struct vop_rename_args *  ap)
static

Definition at line 234 of file vfs_default.c.

References vop_rename_fail().

Here is the call graph for this function:

static int vop_nostrategy ( struct vop_strategy_args *  ap)
static

Definition at line 254 of file vfs_default.c.

References bufdone(), and printf().

Here is the call graph for this function:

int vop_null ( struct vop_generic_args *  ap)

Definition at line 186 of file vfs_default.c.

int vop_panic ( struct vop_generic_args *  ap)

Definition at line 196 of file vfs_default.c.

References panic().

Here is the call graph for this function:

int vop_stdaccess ( struct vop_access_args *  ap)

Definition at line 370 of file vfs_default.c.

int vop_stdaccessx ( struct vop_accessx_args *  ap)

Definition at line 380 of file vfs_default.c.

References accmode, and vfs_unixify_accmode().

Here is the call graph for this function:

static int vop_stdadd_writecount ( struct vop_add_writecount_args *  ap)
static

Definition at line 1132 of file vfs_default.c.

int vop_stdadvise ( struct vop_advise_args *  ap)

Definition at line 1025 of file vfs_default.c.

References start, and vinvalbuf().

Here is the call graph for this function:

int vop_stdadvlock ( struct vop_advlock_args *  ap)

Definition at line 399 of file vfs_default.c.

References lf_advlock().

Here is the call graph for this function:

int vop_stdadvlockasync ( struct vop_advlockasync_args *  ap)

Definition at line 425 of file vfs_default.c.

References lf_advlockasync().

Here is the call graph for this function:

int vop_stdadvlockpurge ( struct vop_advlockpurge_args *  ap)

Definition at line 446 of file vfs_default.c.

References lf_purgelocks().

Here is the call graph for this function:

int vop_stdallocate ( struct vop_allocate_args *  ap)

Definition at line 897 of file vfs_default.c.

References buf, free(), malloc(), and should_yield().

Here is the call graph for this function:

int vop_stdbmap ( struct vop_bmap_args *  ap)

Definition at line 612 of file vfs_default.c.

int vop_stdfsync ( struct vop_fsync_args *  ap)

Definition at line 635 of file vfs_default.c.

References bawrite(), bremfree(), buf, bufobj_wwait(), panic(), and vfs_bio_awrite().

Here is the call graph for this function:

static int vop_stdget_writecount ( struct vop_get_writecount_args *  ap)
static

Definition at line 1124 of file vfs_default.c.

int vop_stdgetpages ( struct vop_getpages_args *  ap)

Definition at line 727 of file vfs_default.c.

int vop_stdgetwritemount ( struct vop_getwritemount_args *  ap)

Definition at line 583 of file vfs_default.c.

References vfs_ref(), and vfs_rel().

Here is the call graph for this function:

static int vop_stdis_text ( struct vop_is_text_args *  ap)
static

Definition at line 1101 of file vfs_default.c.

int vop_stdislocked ( struct vop_islocked_args *  ap)

Definition at line 537 of file vfs_default.c.

References lockstatus().

Here is the call graph for this function:

int vop_stdkqfilter ( struct vop_kqfilter_args *  ap)

Definition at line 742 of file vfs_default.c.

References vfs_kqfilter().

Here is the call graph for this function:

int vop_stdlock ( struct vop_lock1_args *  ap)

Definition at line 507 of file vfs_default.c.

int vop_stdpathconf ( struct vop_pathconf_args *  ap)

Definition at line 464 of file vfs_default.c.

int vop_stdpoll ( struct vop_poll_args *  ap)

Definition at line 566 of file vfs_default.c.

References vn_pollrecord().

Here is the call graph for this function:

int vop_stdputpages ( struct vop_putpages_args *  ap)

Definition at line 749 of file vfs_default.c.

static int vop_stdset_text ( struct vop_set_text_args *  ap)
static

Definition at line 1108 of file vfs_default.c.

int vop_stdunlock ( struct vop_unlock_args *  ap)

Definition at line 524 of file vfs_default.c.

int vop_stdunp_bind ( struct vop_unp_bind_args *  ap)

Definition at line 1077 of file vfs_default.c.

int vop_stdunp_connect ( struct vop_unp_connect_args *  ap)

Definition at line 1085 of file vfs_default.c.

int vop_stdunp_detach ( struct vop_unp_detach_args *  ap)

Definition at line 1093 of file vfs_default.c.

static int vop_stdunset_text ( struct vop_unset_text_args *  ap)
static

Definition at line 1116 of file vfs_default.c.

int vop_stdvptocnp ( struct vop_vptocnp_args *  ap)

Definition at line 771 of file vfs_default.c.

References buf, dirent_exists(), free(), get_next_dirent(), malloc(), NDFREE(), vn_close(), vn_open_cred(), vput(), vref(), and vrele().

Here is the call graph for this function:

int vop_stdvptofh ( struct vop_vptofh_args *  ap)

Definition at line 765 of file vfs_default.c.

Variable Documentation

struct vop_vector default_vnodeops

Definition at line 99 of file vfs_default.c.