blob: 1cf9268ff4761dabfa8f403049371ab9c357de3a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
--- 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 -
|