FreeBSD kernel kern code
vfs_export.c File Reference
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/dirent.h>
#include <sys/domain.h>
#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/rwlock.h>
#include <sys/refcount.h>
#include <sys/signalvar.h>
#include <sys/socket.h>
#include <sys/systm.h>
#include <sys/vnode.h>
#include <net/radix.h>
Include dependency graph for vfs_export.c:

Go to the source code of this file.

Data Structures

struct  netcred
 
struct  netexport
 

Functions

 __FBSDID ("$BSDSUniX$")
 
static MALLOC_DEFINE (M_NETADDR,"export_host","Export host address structure")
 
static void vfs_free_addrlist (struct netexport *nep)
 
static int vfs_free_netcred (struct radix_node *rn, void *w)
 
static int vfs_hang_addrlist (struct mount *mp, struct netexport *nep, struct export_args *argp)
 
static struct netcredvfs_export_lookup (struct mount *, struct sockaddr *)
 
int vfs_export (struct mount *mp, struct export_args *argp)
 
int vfs_setpublicfs (struct mount *mp, struct netexport *nep, struct export_args *argp)
 
int vfs_stdcheckexp (struct mount *mp, struct sockaddr *nam, int *extflagsp, struct ucred **credanonp, int *numsecflavors, int **secflavors)
 

Function Documentation

__FBSDID ( "$BSDSUniX$"  )
static MALLOC_DEFINE ( M_NETADDR  ,
"export_host"  ,
"Export host address structure"   
)
static
int vfs_export ( struct mount *  mp,
struct export_args *  argp 
)

Definition at line 273 of file vfs_export.c.

References free(), malloc(), vfs_deleteopt(), vfs_free_addrlist(), vfs_hang_addrlist(), and vfs_setpublicfs().

Referenced by vfs_domount_update().

Here is the call graph for this function:

Here is the caller graph for this function:

static struct netcred * vfs_export_lookup ( struct mount *  mp,
struct sockaddr *  nam 
)
static

Definition at line 425 of file vfs_export.c.

References netexport::ne_defexported, netexport::ne_rtable, and netcred::netc_rnodes.

Referenced by vfs_stdcheckexp().

Here is the caller graph for this function:

static void vfs_free_addrlist ( struct netexport nep)
static

Definition at line 244 of file vfs_export.c.

References crfree(), free(), netexport::ne_defexported, netexport::ne_rtable, netcred::netc_anon, and vfs_free_netcred().

Referenced by vfs_export().

Here is the call graph for this function:

Here is the caller graph for this function:

static int vfs_free_netcred ( struct radix_node *  rn,
void *  w 
)
static

Definition at line 227 of file vfs_export.c.

References crfree(), and free().

Referenced by vfs_free_addrlist().

Here is the call graph for this function:

Here is the caller graph for this function:

static int vfs_hang_addrlist ( struct mount *  mp,
struct netexport nep,
struct export_args *  argp 
)
static

Definition at line 91 of file vfs_export.c.

References crget(), crsetgroups(), domains, free(), malloc(), netexport::ne_defexported, netexport::ne_rtable, netcred::netc_anon, netcred::netc_exflags, netcred::netc_numsecflavors, netcred::netc_secflavors, prison0, prison_hold(), and vfs_mount_error().

Referenced by vfs_export().

Here is the call graph for this function:

Here is the caller graph for this function:

int vfs_setpublicfs ( struct mount *  mp,
struct netexport nep,
struct export_args *  argp 
)

Definition at line 343 of file vfs_export.c.

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

Referenced by dounmount(), and vfs_export().

Here is the call graph for this function:

Here is the caller graph for this function:

int vfs_stdcheckexp ( struct mount *  mp,
struct sockaddr *  nam,
int *  extflagsp,
struct ucred **  credanonp,
int *  numsecflavors,
int **  secflavors 
)

Definition at line 471 of file vfs_export.c.

References crhold(), netcred::netc_anon, netcred::netc_exflags, netcred::netc_numsecflavors, netcred::netc_secflavors, and vfs_export_lookup().

Referenced by vfs_register().

Here is the call graph for this function:

Here is the caller graph for this function: