summaryrefslogtreecommitdiffstats
path: root/usr.bin/fstat/fstat.c
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2003-06-24 08:18:18 +0000
committerjmg <jmg@FreeBSD.org>2003-06-24 08:18:18 +0000
commitcb1a37be82ccba1097c3173081001fbadf92364d (patch)
tree2eb86cae5d24d6fbbc9c6504a5d1b67d70157c9b /usr.bin/fstat/fstat.c
parent479c27ecda8a4c3fac6ce64e8db853c07aa12b34 (diff)
downloadFreeBSD-src-cb1a37be82ccba1097c3173081001fbadf92364d.zip
FreeBSD-src-cb1a37be82ccba1097c3173081001fbadf92364d.tar.gz
fix this code properly. msdosfs can't have device nodes on them.
comment how to read device nodes from ufs (if an adventurous soul wants to fix it!). Reviewed by: bde
Diffstat (limited to 'usr.bin/fstat/fstat.c')
-rw-r--r--usr.bin/fstat/fstat.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.bin/fstat/fstat.c b/usr.bin/fstat/fstat.c
index b8f6c3c..3612582 100644
--- a/usr.bin/fstat/fstat.c
+++ b/usr.bin/fstat/fstat.c
@@ -594,7 +594,11 @@ ufs_filestat(vp, fsp)
fsp->mode = (mode_t)inode.i_mode;
fsp->size = (u_long)inode.i_size;
#if should_be_but_is_hard
- fsp->rdev = inode.i_rdev;
+ /* XXX - need to load i_ump and i_din[12] from kernel memory */
+ if (inode.i_ump->um_fstype == UFS1)
+ fsp->rdev = inode.i_din1->di_rdev;
+ else
+ fsp->rdev = inode.i_din2->di_rdev;
#else
fsp->rdev = 0;
#endif
OpenPOWER on IntegriCloud