Index: sys/fs/fifofs/fifo_vnops.c =================================================================== --- sys/fs/fifofs/fifo_vnops.c +++ sys/fs/fifofs/fifo_vnops.c @@ -73,12 +73,10 @@ static vop_print_t fifo_print; static vop_open_t fifo_open; static vop_close_t fifo_close; -static vop_advlock_t fifo_advlock; struct vop_vector fifo_specops = { .vop_default = &default_vnodeops, - .vop_advlock = fifo_advlock, .vop_close = fifo_close, .vop_create = VOP_PANIC, .vop_getattr = VOP_EBADF, @@ -342,22 +340,3 @@ printf("\n"); return (0); } - -/* - * Fifo advisory byte-level locks. - */ -/* ARGSUSED */ -static int -fifo_advlock(ap) - struct vop_advlock_args /* { - struct vnode *a_vp; - caddr_t a_id; - int a_op; - struct flock *a_fl; - int a_flags; - } */ *ap; -{ - - return (ap->a_flags & F_FLOCK ? EOPNOTSUPP : EINVAL); -} - Index: sys/kern/kern_descrip.c =================================================================== --- sys/kern/kern_descrip.c +++ sys/kern/kern_descrip.c @@ -3096,7 +3096,7 @@ error = fget(td, uap->fd, &cap_flock_rights, &fp); if (error != 0) return (error); - if (fp->f_type != DTYPE_VNODE) { + if (fp->f_type != DTYPE_VNODE && fp->f_type != DTYPE_FIFO) { fdrop(fp, td); return (EOPNOTSUPP); }