diff options
-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 - |