Changeset View
Changeset View
Standalone View
Standalone View
head/sys/kern/kern_descrip.c
Show First 20 Lines • Show All 782 Lines • ▼ Show 20 Lines | case F_READAHEAD: | ||||
if (error != 0) | if (error != 0) | ||||
break; | break; | ||||
if (fp->f_type != DTYPE_VNODE) { | if (fp->f_type != DTYPE_VNODE) { | ||||
fdrop(fp, td); | fdrop(fp, td); | ||||
error = EBADF; | error = EBADF; | ||||
break; | break; | ||||
} | } | ||||
vp = fp->f_vnode; | vp = fp->f_vnode; | ||||
if (vp->v_type != VREG) { | |||||
fdrop(fp, td); | |||||
error = ENOTTY; | |||||
break; | |||||
} | |||||
/* | /* | ||||
* Exclusive lock synchronizes against f_seqcount reads and | * Exclusive lock synchronizes against f_seqcount reads and | ||||
* writes in sequential_heuristic(). | * writes in sequential_heuristic(). | ||||
*/ | */ | ||||
error = vn_lock(vp, LK_EXCLUSIVE); | error = vn_lock(vp, LK_EXCLUSIVE); | ||||
if (error != 0) { | if (error != 0) { | ||||
fdrop(fp, td); | fdrop(fp, td); | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 3,481 Lines • Show Last 20 Lines |