Date: Fri, 2 Jan 1998 09:50:02 -0800 (PST) From: Cy Schubert <cys@wlc.com> To: freebsd-bugs Subject: Re: kern/3685: panic: fdesc attr Message-ID: <199801021750.JAA18760@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/3685; it has been noted by GNATS. From: Cy Schubert <cys@wlc.com> To: freebsd-gnats-submit@freebsd.org, cschuber@uumail.gov.bc.ca, cy@uumail.gov.bc.ca Cc: Subject: Re: kern/3685: panic: fdesc attr Date: Fri, 02 Jan 1998 09:41:10 -0800 I finally had some time to look at this and here is a patch. The patch reports pipes (DTYPE_PIPE) as fifos (VFIFO). I think that this is acceptable because pipes which normally do not show up in a directory listing do show up in the fdesc filesystem (semantics of the fdesc filesystem are already slightly different from the normal semantics). --- sys/miscfs/fdesc/fdesc_vnops.c.orig Sat Dec 21 11:04:28 1996 +++ sys/miscfs/fdesc/fdesc_vnops.c Fri Jan 2 09:18:12 1998 @@ -409,11 +409,18 @@ } break; + case DTYPE_PIPE: case DTYPE_SOCKET: - error = soo_stat((struct socket *)fp->f_data, &stb); + if (fp->f_type == DTYPE_SOCKET) + error = soo_stat((struct socket *)fp->f_data, &stb); + else + error = pipe_stat((struct pipe *)fp->f_data, &stb); if (error == 0) { vattr_null(vap); - vap->va_type = VSOCK; + if (fp->f_type == DTYPE_SOCKET) + vap->va_type = VSOCK; + else + vap->va_type = VFIFO; vap->va_mode = stb.st_mode; vap->va_nlink = stb.st_nlink; vap->va_uid = stb.st_uid; @@ -557,6 +564,7 @@ error = VOP_SETATTR((struct vnode *) fp->f_data, ap->a_vap, ap->a_cred, ap->a_p); break; + case DTYPE_PIPE: case DTYPE_SOCKET: error = 0; break; Regards, Phone: (250)387-8437 Cy Schubert Fax: (250)387-5766 UNIX Support OV/VM: BCSC02(CSCHUBER) ITSD BITNET: CSCHUBER@BCSC02.BITNET Government of BC Internet: cschuber@uumail.gov.bc.ca Cy.Schubert@gems8.gov.bc.ca "Quit spooling around, JES do it."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801021750.JAA18760>