On Fri, Feb 10, 2017 at 04:10:41PM +0200, Konstantin Belousov wrote:
> ...
> Please try this.
> 
> diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
> index 70cdcdc6f75..1f2cceaf7a6 100644
> --- a/sys/kern/vfs_vnops.c
> +++ b/sys/kern/vfs_vnops.c
> @@ -351,8 +351,8 @@ vn_open_vnode(struct vnode *vp, int fmode, struct ucred 
> *cred,
>  
>       while ((fmode & (O_EXLOCK | O_SHLOCK)) != 0) {
>               KASSERT(fp != NULL, ("open with flock requires fp"));
> -             if (fp->f_type != DTYPE_VNODE) {
> -                     error = EBADF;
> +             if (fp->f_type != DTYPE_NONE && fp->f_type != DTYPE_VNODE) {
> +                     error = EOPNOTSUPP;
>                       break;
>               }
>               lock_flags = VOP_ISLOCKED(vp);
> diff --git a/sys/sys/file.h b/sys/sys/file.h
> index 353c92f365a..c51f26a41d2 100644
> --- a/sys/sys/file.h
> +++ b/sys/sys/file.h
> @@ -53,6 +53,7 @@ struct vnode;
>  
>  #endif /* _KERNEL */
>  
> +#define      DTYPE_NONE      0       /* not yet initialized */
>  #define      DTYPE_VNODE     1       /* file */
>  #define      DTYPE_SOCKET    2       /* communications endpoint */
>  #define      DTYPE_PIPE      3       /* pipe */


That seems to have done it -- thank you! :-)

Peace,
david
-- 
David H. Wolfskill                              da...@catwhisker.org
How could one possibly "respect" a misogynist, racist, bullying con-man??!?

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

Attachment: signature.asc
Description: PGP signature

Reply via email to