unix domain sockets on nullfs(5)

Robert N. M. Watson rwatson at freebsd.org
Thu Jan 12 21:39:57 UTC 2012


On 12 Jan 2012, at 21:17, Mikolaj Golub wrote:

> If we agree to have only the new behavior then nullfs won't need modification
> at all, it will work as expected automatically. The patch could be (with updated
> locking for the connect case):
> 
> http://people.freebsd.org/~trociny/VOP_UNP.1.patch

Greatly simplified.

> --- sys/kern/uipc_usrreq.c	(revision 229979)
> +++ sys/kern/uipc_usrreq.c	(working copy)
> @@ -542,7 +542,7 @@
>  
>  	UNP_LINK_WLOCK();
>  	UNP_PCB_LOCK(unp);
> -	vp->v_socket = unp->unp_socket;
> +	VOP_UNPBIND(vp, unp->unp_socket);
>  	unp->unp_vnode = vp;
>  	unp->unp_addr = soun;
>  	unp->unp_flags &= ~UNP_BINDING;


I still find myself worried by the fact that unp->unp_vnode points at the nullfs vnode rather than the underlying vnode, but haven't yet managed to identify any actual bugs that would result. I'll continue pondering it over the weekend :-).

Robert


More information about the freebsd-arch mailing list