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
This commit is contained in:
John-Mark Gurney 2003-06-24 08:18:18 +00:00
parent 9c1cfc8650
commit ab1897e943
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=116780
3 changed files with 7 additions and 3 deletions

View File

@ -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;

View File

@ -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

View File

@ -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 -