Le Thu, 12 Sep 2013 10:36:43 +0300,
Konstantin Belousov <kostik...@gmail.com> a écrit :

Hello,

> Might be, your issue is that some filesystems do not care about proper
> locking mode for the fifos.  UFS carefully disables shared locking for
> VFIFO, but it seems ZFS is not.  I can propose the following band-aid,
> which could help you.
> 
> I have no idea is it the same issue as the kqueue panic.
> 
> diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
> index c53030a..00bd998 100644
> --- a/sys/kern/vfs_vnops.c
> +++ b/sys/kern/vfs_vnops.c
> @@ -267,6 +267,8 @@ vn_open_vnode(struct vnode *vp, int fmode, struct
> ucred *cred, return (error);
>               }
>       }
> +     if (vp->v_type == VFIFO && VOP_ISLOCKED(vp) != LK_EXCLUSIVE)
> +             vn_lock(vp, LK_UPGRADE | LK_RETRY);
>       if ((error = VOP_OPEN(vp, fmode, cred, td, fp)) != 0)
>               return (error);
>  
> @@ -358,7 +360,7 @@ vn_close(vp, flags, file_cred, td)
>       struct mount *mp;
>       int error, lock_flags;
>  
> -     if (!(flags & FWRITE) && vp->v_mount != NULL &&
> +     if (vp->v_type != VFIFO && !(flags & FWRITE) &&
> vp->v_mount != NULL && vp->v_mount->mnt_kern_flag &
> MNTK_EXTENDED_SHARED) lock_flags = LK_SHARED;
>       else

Hmmm, So what is the fix for 9.2-STABLE ? As far I can see there is no
function vn_open_vnode() here and I don't see where I should patch.

I see this panic too (with STABLE of today), while using poudriere +
ZFS like Jimmy.

Thanks, regards
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to