svn commit: r195476 - projects/libprocstat/usr.bin/fstat
Stanislav Sedov
stas at FreeBSD.org
Wed Jul 8 18:37:05 UTC 2009
Author: stas
Date: Wed Jul 8 18:37:05 2009
New Revision: 195476
URL: http://svn.freebsd.org/changeset/base/195476
Log:
- Add dev id detection support for cd9660 filesystem.
Obtained from: fuser
Modified:
projects/libprocstat/usr.bin/fstat/cd9660.c
Modified: projects/libprocstat/usr.bin/fstat/cd9660.c
==============================================================================
--- projects/libprocstat/usr.bin/fstat/cd9660.c Wed Jul 8 17:43:58 2009 (r195475)
+++ projects/libprocstat/usr.bin/fstat/cd9660.c Wed Jul 8 18:37:05 2009 (r195476)
@@ -50,6 +50,9 @@ __FBSDID("$FreeBSD$");
#include <sys/mount.h>
#include <isofs/cd9660/cd9660_node.h>
+#define _KERNEL
+#include <isofs/cd9660/iso.h>
+#undef _KERNEL
#include <kvm.h>
#include <stdio.h>
@@ -61,20 +64,25 @@ int
isofs_filestat(kvm_t *kd, struct vnode *vp, struct filestat *fsp)
{
struct iso_node isonode;
+ struct iso_mnt mnt;
if (!kvm_read_all(kd, (unsigned long)VTOI(vp), &isonode,
sizeof(isonode))) {
dprintf(stderr, "can't read iso_node at %p\n",
(void *)VTOI(vp));
- return 0;
+ return (0);
}
-#if 0
- fsp->fsid = dev2udev(isonode.i_dev);
-#endif
+ if (!kvm_read_all(kd, (unsigned long)isonode.i_mnt, &mnt,
+ sizeof(mnt))) {
+ dprintf(stderr, "can't read iso_mnt at %p\n",
+ (void *)VTOI(vp));
+ return (0);
+ }
+ fsp->fsid = dev2udev(kd, mnt.im_dev);
fsp->mode = (mode_t)isonode.inode.iso_mode;
fsp->rdev = isonode.inode.iso_rdev;
fsp->fileid = (long)isonode.i_number;
fsp->size = (u_long)isonode.i_size;
- return 1;
+ return (1);
}
More information about the svn-src-projects
mailing list