diff options
author | phk <phk@FreeBSD.org> | 1999-07-02 16:29:47 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1999-07-02 16:29:47 +0000 |
commit | b6d067fe706d7df16489c3e6138e2c68c483bd7c (patch) | |
tree | 6dd5d101ce37a738d8b0f531e7273f744862ab5d /sys/kern/vfs_vnops.c | |
parent | 60d229e604f6fdbe9921b44b59b82b2469286d78 (diff) | |
download | FreeBSD-src-b6d067fe706d7df16489c3e6138e2c68c483bd7c.zip FreeBSD-src-b6d067fe706d7df16489c3e6138e2c68c483bd7c.tar.gz |
Make sure that stat(2) and friends always return a valid st_dev field.
Pseudo-FS need not fill in the va_fsid anymore, the syscall code
will use the first half of the fsid, which now looks like a udev_t
with major 255.
Diffstat (limited to 'sys/kern/vfs_vnops.c')
-rw-r--r-- | sys/kern/vfs_vnops.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 0300ba5..8a520d3 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94 - * $Id: vfs_vnops.c,v 1.67 1999/04/27 11:16:27 phk Exp $ + * $Id: vfs_vnops.c,v 1.68 1999/04/28 11:37:12 phk Exp $ */ #include <sys/param.h> @@ -378,7 +378,10 @@ vn_stat(vp, sb, p) /* * Copy from vattr table */ - sb->st_dev = vap->va_fsid; + if (vap->va_fsid != VNOVAL) + sb->st_dev = vap->va_fsid; + else + sb->st_dev = vp->v_mount->mnt_stat.f_fsid.val[0]; sb->st_ino = vap->va_fileid; mode = vap->va_mode; switch (vap->va_type) { |