Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Aug 2009 13:25:11 +0000 (UTC)
From:      Stanislav Sedov <stas@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r196034 - in projects/libprocstat: sys/kern usr.bin/fstat
Message-ID:  <200908021325.n72DPBvC015656@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: stas
Date: Sun Aug  2 13:25:11 2009
New Revision: 196034
URL: http://svn.freebsd.org/changeset/base/196034

Log:
  - Do not fail if fullpath of the file could not be retrieved.
  - Print "-" for mntdir in fstat in that case.

Modified:
  projects/libprocstat/sys/kern/kern_descrip.c
  projects/libprocstat/usr.bin/fstat/libprocstat.c

Modified: projects/libprocstat/sys/kern/kern_descrip.c
==============================================================================
--- projects/libprocstat/sys/kern/kern_descrip.c	Sun Aug  2 11:26:23 2009	(r196033)
+++ projects/libprocstat/sys/kern/kern_descrip.c	Sun Aug  2 13:25:11 2009	(r196034)
@@ -3185,10 +3185,11 @@ fill_vnode_info(struct vnode *vp, struct
 	freepath = NULL;
 	fullpath = "-";
 	error = vn_fullpath(curthread, vp, &fullpath, &freepath);
-	if (error != 0)
-		return (error);
-	strlcpy(kif->kf_path, fullpath, sizeof(kif->kf_path));
-	free(freepath, M_TEMP);
+	if (error == 0) {
+		strlcpy(kif->kf_path, fullpath, sizeof(kif->kf_path));
+	}
+	if (freepath != NULL)
+		free(freepath, M_TEMP);
 
 	/*
 	 * Retrieve vnode attributes.

Modified: projects/libprocstat/usr.bin/fstat/libprocstat.c
==============================================================================
--- projects/libprocstat/usr.bin/fstat/libprocstat.c	Sun Aug  2 11:26:23 2009	(r196033)
+++ projects/libprocstat/usr.bin/fstat/libprocstat.c	Sun Aug  2 13:25:11 2009	(r196034)
@@ -986,7 +986,8 @@ procstat_get_vnode_info_sysctl(struct fi
 	if (path && *path) {
 		statfs(path, &stbuf);
 		vn->vn_mntdir = strdup(stbuf.f_mntonname);
-	}
+	} else
+		vn->vn_mntdir = strdup("-");
 	vn->vn_dev = rdev;
 	if (vntype == PS_FST_VTYPE_VBLK) {
 		name = devname(rdev, S_IFBLK);



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