diff options
Diffstat (limited to 'sysutils/fuser/files/extra::patch-msdosfs.c')
-rw-r--r-- | sysutils/fuser/files/extra::patch-msdosfs.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/sysutils/fuser/files/extra::patch-msdosfs.c b/sysutils/fuser/files/extra::patch-msdosfs.c new file mode 100644 index 000000000000..1cf9268ff476 --- /dev/null +++ b/sysutils/fuser/files/extra::patch-msdosfs.c @@ -0,0 +1,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 - |