Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Aug 2011 11:50:28 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r225261 - stable/8/sys/fs/procfs
Message-ID:  <201108301150.p7UBoSur050157@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Tue Aug 30 11:50:28 2011
New Revision: 225261
URL: http://svn.freebsd.org/changeset/base/225261

Log:
  MFC r224915:
  Do not return success and a string "unknown" when vn_fullpath() was unable
  to resolve the path of the text vnode of the process. The behaviour is
  very confusing for any consumer of the procfs, in particular, java.

Modified:
  stable/8/sys/fs/procfs/procfs.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/fs/procfs/procfs.c
==============================================================================
--- stable/8/sys/fs/procfs/procfs.c	Tue Aug 30 11:49:22 2011	(r225260)
+++ stable/8/sys/fs/procfs/procfs.c	Tue Aug 30 11:50:28 2011	(r225261)
@@ -67,20 +67,23 @@
 int
 procfs_doprocfile(PFS_FILL_ARGS)
 {
-	char *fullpath = "unknown";
-	char *freepath = NULL;
+	char *fullpath;
+	char *freepath;
 	struct vnode *textvp;
+	int error;
 
+	freepath = NULL;
 	PROC_LOCK(p);
 	textvp = p->p_textvp;
 	vhold(textvp);
 	PROC_UNLOCK(p);
-	vn_fullpath(td, textvp, &fullpath, &freepath);
+	error = vn_fullpath(td, textvp, &fullpath, &freepath);
 	vdrop(textvp);
-	sbuf_printf(sb, "%s", fullpath);
-	if (freepath)
+	if (error == 0)
+		sbuf_printf(sb, "%s", fullpath);
+	if (freepath != NULL)
 		free(freepath, M_TEMP);
-	return (0);
+	return (error);
 }
 
 /*



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