--- /usr/src/sys/fs/devfs/devfs_vnops.c (revision 279197) +++ /usr/src/sys/fs/devfs/devfs_vnops.c (working copy) @@ -61,6 +61,7 @@ #include #include #include +#include static struct vop_vector devfs_vnodeops; static struct vop_vector devfs_specops; @@ -700,6 +701,8 @@ fix(de->de_ctime); vap->va_ctime = de->de_ctime; } else { + struct g_provider *pp; + dev = vp->v_rdev; fix(dev->si_atime); vap->va_atime = dev->si_atime; @@ -709,6 +712,13 @@ vap->va_ctime = dev->si_ctime; vap->va_rdev = cdev2priv(dev)->cdp_inode; + + pp = g_dev_getprovider(dev); + + if (pp) { + vap->va_size = vap->va_bytes = pp->mediasize; + vap->va_blocksize = pp->sectorsize; + } } vap->va_gen = 0; vap->va_flags = 0;