Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/nfsserver/nfs_nfsdport.c
Show All 40 Lines | |||||
/* | /* | ||||
* Functions that perform the vfs operations required by the routines in | * Functions that perform the vfs operations required by the routines in | ||||
* nfsd_serv.c. It is hoped that this change will make the server more | * nfsd_serv.c. It is hoped that this change will make the server more | ||||
* portable. | * portable. | ||||
*/ | */ | ||||
#include <fs/nfs/nfsport.h> | #include <fs/nfs/nfsport.h> | ||||
#include <security/audit/audit.h> | |||||
#include <security/mac/mac_framework.h> | #include <security/mac/mac_framework.h> | ||||
#include <sys/filio.h> | #include <sys/filio.h> | ||||
#include <sys/hash.h> | #include <sys/hash.h> | ||||
#include <sys/sysctl.h> | #include <sys/sysctl.h> | ||||
#include <nlm/nlm_prot.h> | #include <nlm/nlm_prot.h> | ||||
#include <nlm/nlm.h> | #include <nlm/nlm.h> | ||||
FEATURE(nfsd, "NFSv4 server"); | FEATURE(nfsd, "NFSv4 server"); | ||||
▲ Show 20 Lines • Show All 1,835 Lines • ▼ Show 20 Lines | nfsrvd_readdir(struct nfsrv_descript *nd, int isdgram, | ||||
struct iovec iv; | struct iovec iv; | ||||
int is_ufs; | int is_ufs; | ||||
struct thread *p = curthread; | struct thread *p = curthread; | ||||
if (nd->nd_repstat) { | if (nd->nd_repstat) { | ||||
nfsrv_postopattr(nd, getret, &at); | nfsrv_postopattr(nd, getret, &at); | ||||
goto out; | goto out; | ||||
} | } | ||||
AUDIT_NFSARG_VNODE1(nd, vp); | |||||
if (nd->nd_flag & ND_NFSV2) { | if (nd->nd_flag & ND_NFSV2) { | ||||
NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | ||||
off = fxdr_unsigned(u_quad_t, *tl++); | off = fxdr_unsigned(u_quad_t, *tl++); | ||||
} else { | } else { | ||||
NFSM_DISSECT(tl, u_int32_t *, 5 * NFSX_UNSIGNED); | NFSM_DISSECT(tl, u_int32_t *, 5 * NFSX_UNSIGNED); | ||||
off = fxdr_hyper(tl); | off = fxdr_hyper(tl); | ||||
tl += 2; | tl += 2; | ||||
verf = fxdr_hyper(tl); | verf = fxdr_hyper(tl); | ||||
▲ Show 20 Lines • Show All 238 Lines • ▼ Show 20 Lines | nfsrvd_readdirplus(struct nfsrv_descript *nd, int isdgram, | ||||
struct mount *mp, *new_mp; | struct mount *mp, *new_mp; | ||||
uint64_t mounted_on_fileno; | uint64_t mounted_on_fileno; | ||||
struct thread *p = curthread; | struct thread *p = curthread; | ||||
if (nd->nd_repstat) { | if (nd->nd_repstat) { | ||||
nfsrv_postopattr(nd, getret, &at); | nfsrv_postopattr(nd, getret, &at); | ||||
goto out; | goto out; | ||||
} | } | ||||
AUDIT_NFSARG_VNODE1(nd, vp); | |||||
NFSM_DISSECT(tl, u_int32_t *, 6 * NFSX_UNSIGNED); | NFSM_DISSECT(tl, u_int32_t *, 6 * NFSX_UNSIGNED); | ||||
off = fxdr_hyper(tl); | off = fxdr_hyper(tl); | ||||
toff = off; | toff = off; | ||||
tl += 2; | tl += 2; | ||||
verf = fxdr_hyper(tl); | verf = fxdr_hyper(tl); | ||||
tl += 2; | tl += 2; | ||||
siz = fxdr_unsigned(int, *tl++); | siz = fxdr_unsigned(int, *tl++); | ||||
cnt = fxdr_unsigned(int, *tl); | cnt = fxdr_unsigned(int, *tl); | ||||
▲ Show 20 Lines • Show All 4,371 Lines • Show Last 20 Lines |