ports/sysutils/fuser/files/extra::patch-msdosfs.c
2009-06-07 09:01:13 +00:00

25 lines
556 B
C

--- msdosfs.c.orig 2009-06-07 12:53:34.000000000 +0400
+++ msdosfs.c 2009-06-07 12:57:41.000000000 +0400
@@ -72,6 +72,7 @@
struct denode denode;
u_long dirsperblk;
struct msdosfsmount mnt;
+ struct vnode devvp;
int fileid;
int ret;
@@ -90,7 +91,13 @@
return 1;
}
- fsp->dev = dev2udev(denode.de_dev);
+ ret = KVM_READ(kd, mnt.pm_devvp, &devvp, sizeof(devvp));
+ if (ret != sizeof(devvp)) {
+ warnx("can't read vnode info at %p\n", (void *)mnt.pm_devvp);
+ return 1;
+ }
+
+ fsp->dev = dev2udev(devvp.v_rdev);
/*
* XXX -