Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jan 1998 23:49:04 +0100 (MET)
From:      Guido van Rooij <guido@gvr.org>
To:        tlambert@primenet.com (Terry Lambert)
Cc:        tlambert@primenet.com, FreeBSD-hackers@FreeBSD.ORG
Subject:   Re: socket ops
Message-ID:  <199801182249.XAA25043@gvr.gvr.org>
In-Reply-To: <199801182236.PAA05447@usr04.primenet.com> from Terry Lambert at "Jan 18, 98 10:36:29 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote:
> > > Look for "struct fileops" in /sys/kern/*.c, and all will be revealed.
> > > 
> > > The mode is referenced via VOP_GETATTR/VOP_SETATTR off of a vnode
> > > to get the FS specific method of getting/setting mode bits.  If you
> > > do not have a backing object, you do not have mode bits.
> > 
> > ?? There *is* a backing object. I am talking about UNIX domain
> > sockets here.
> 
> That's a handle object, not a backing object.  Go look for the
> "struct fileops" stuff.

I still don't see what fileops has to do with it. I am not talking
about accessing (read or write) the unix domain socket. 
> 
> If there was a backing object, you'd reference the thing by vnode and
> you'd be able to fchmod it.

a unix domain socket has a vnode created by VOP_CREATE. I can reference
it via the struct unpcb pointer hanging off the struct socket.

> 
> Look at it this way; I call socketpair().  In which FS does the backing
> object (inode that I can reference by vnode) exist?

Nowhere. In this case the vnode pointer in the unpcb is zero.

-Guido



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801182249.XAA25043>