Changeset View
Changeset View
Standalone View
Standalone View
head/sys/compat/cloudabi/cloudabi_file.c
Show First 20 Lines • Show All 281 Lines • ▼ Show 20 Lines | if (error != 0) { | ||||
return (error); | return (error); | ||||
} | } | ||||
NDFREE(&nd, NDF_ONLY_PNBUF); | NDFREE(&nd, NDF_ONLY_PNBUF); | ||||
filecaps_free(&nd.ni_filecaps); | filecaps_free(&nd.ni_filecaps); | ||||
fp->f_vnode = vp = nd.ni_vp; | fp->f_vnode = vp = nd.ni_vp; | ||||
/* Install vnode operations if no custom operations are provided. */ | /* Install vnode operations if no custom operations are provided. */ | ||||
if (fp->f_ops == &badfileops) { | if (fp->f_ops == &badfileops) { | ||||
fp->f_seqcount = 1; | fp->f_seqcount[UIO_READ] = 1; | ||||
fp->f_seqcount[UIO_WRITE] = 1; | |||||
finit(fp, (fflags & FMASK) | (fp->f_flag & FHASLOCK), | finit(fp, (fflags & FMASK) | (fp->f_flag & FHASLOCK), | ||||
DTYPE_VNODE, vp, &vnops); | DTYPE_VNODE, vp, &vnops); | ||||
} | } | ||||
VOP_UNLOCK(vp); | VOP_UNLOCK(vp); | ||||
/* Truncate file. */ | /* Truncate file. */ | ||||
if (fflags & O_TRUNC) { | if (fflags & O_TRUNC) { | ||||
error = fo_truncate(fp, 0, td->td_ucred, td); | error = fo_truncate(fp, 0, td->td_ucred, td); | ||||
▲ Show 20 Lines • Show All 464 Lines • Show Last 20 Lines |