diff options
author | jmg <jmg@FreeBSD.org> | 2003-06-24 08:18:18 +0000 |
---|---|---|
committer | jmg <jmg@FreeBSD.org> | 2003-06-24 08:18:18 +0000 |
commit | cb1a37be82ccba1097c3173081001fbadf92364d (patch) | |
tree | 2eb86cae5d24d6fbbc9c6504a5d1b67d70157c9b /usr.bin | |
parent | 479c27ecda8a4c3fac6ce64e8db853c07aa12b34 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | usr.bin/fstat/cd9660.c | 2 | ||||
-rw-r--r-- | usr.bin/fstat/fstat.c | 6 | ||||
-rw-r--r-- | usr.bin/fstat/msdosfs.c | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/usr.bin/fstat/cd9660.c b/usr.bin/fstat/cd9660.c index a11a9c4..c289a7d 100644 --- a/usr.bin/fstat/cd9660.c +++ b/usr.bin/fstat/cd9660.c @@ -70,7 +70,7 @@ isofs_filestat(vp, fsp) } fsp->fsid = dev2udev(isonode.i_dev); fsp->mode = (mode_t)isonode.inode.iso_mode; - fsp->rdev = isonode.i_dev; + fsp->rdev = isonode.inode.iso_rdev; fsp->fileid = (long)isonode.i_number; fsp->size = (u_long)isonode.i_size; 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 diff --git a/usr.bin/fstat/msdosfs.c b/usr.bin/fstat/msdosfs.c index c428e57..6766677 100644 --- a/usr.bin/fstat/msdosfs.c +++ b/usr.bin/fstat/msdosfs.c @@ -120,7 +120,7 @@ msdosfs_filestat(vp, fsp) fsp->mode |= denode.de_Attributes & ATTR_DIRECTORY ? S_IFDIR : S_IFREG; fsp->size = denode.de_FileSize; - fsp->rdev = denode.de_dev; + fsp->rdev = 0; /* * XXX - |