Date: Thu, 12 Jan 2012 21:39:53 +0000 From: "Robert N. M. Watson" <rwatson@freebsd.org> To: Mikolaj Golub <trociny@freebsd.org> Cc: Kostik Belousov <kib@freebsd.org>, freebsd-arch@freebsd.org Subject: Re: unix domain sockets on nullfs(5) Message-ID: <BBDE763A-F55E-453D-A503-2489C9040EF6@freebsd.org> In-Reply-To: <CAOnPXZ_y5G6uEBWmfuH7qYBh%2B4Pw=O91ztCPEFCOTzWdCzx%2BRA@mail.gmail.com> References: <86sjjobzmn.fsf@kopusha.home.net> <D1B8F00C-1E0D-4916-BD4B-FBCAE28E6F22@FreeBSD.org> <86fwfnti5t.fsf@kopusha.home.net> <CAOnPXZ_y5G6uEBWmfuH7qYBh%2B4Pw=O91ztCPEFCOTzWdCzx%2BRA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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): >=20 > 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 @@ > =20 > UNP_LINK_WLOCK(); > UNP_PCB_LOCK(unp); > - vp->v_socket =3D unp->unp_socket; > + VOP_UNPBIND(vp, unp->unp_socket); > unp->unp_vnode =3D vp; > unp->unp_addr =3D soun; > unp->unp_flags &=3D ~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=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BBDE763A-F55E-453D-A503-2489C9040EF6>