Page MenuHomeFreeBSD

D40700.diff
No OneTemporary

D40700.diff

diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c
--- a/sys/fs/fdescfs/fdesc_vnops.c
+++ b/sys/fs/fdescfs/fdesc_vnops.c
@@ -190,8 +190,9 @@
fd->fd_type = ftype;
fd->fd_fd = fd_fd;
fd->fd_ix = ix;
- if (ftype == Fdesc && fmp->flags & FMNT_LINRDLNKF)
- vp->v_vflag |= VV_READLINK;
+ /* Cannot set v_type to VCHR */
+ if (ftype == Fdesc && (fmp->flags & FMNT_LINRDLNKF) != 0)
+ vp->v_type = VLNK;
error = insmntque1(vp, mp);
if (error != 0) {
vgone(vp);
@@ -457,7 +458,8 @@
break;
case Fdesc:
- vap->va_type = (vp->v_vflag & VV_READLINK) == 0 ? VCHR : VLNK;
+ vap->va_type = (VFSTOFDESC(vp->v_mount)->flags &
+ FMNT_LINRDLNKF) == 0 ? VCHR : VLNK;
vap->va_nlink = 1;
vap->va_size = 0;
vap->va_rdev = makedev(0, vap->va_fileid);

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 10, 11:10 AM (14 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15742026
Default Alt Text
D40700.diff (786 B)

Event Timeline