From 619e8f4767517e5d066d2db9b6ef3babec3a3de9 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Sun, 26 Aug 2012 12:12:46 +0200 Subject: [PATCH] kernel/devfs: Fill out cdev_t's si_major field (and adjust one use case). --- sys/kern/kern_udev.c | 2 +- sys/vfs/devfs/devfs_core.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_udev.c b/sys/kern/kern_udev.c index d9602a1..6d153fe 100644 --- a/sys/kern/kern_udev.c +++ b/sys/kern/kern_udev.c @@ -369,7 +369,7 @@ udev_init_dict(cdev_t dev) if ((error = _udev_dict_set_int(dict, "mode", dev->si_perms))) goto error_out; - if ((error = _udev_dict_set_int(dict, "major", umajor(dev->si_inode)))) + if ((error = _udev_dict_set_int(dict, "major", dev->si_umajor))) goto error_out; if ((error = _udev_dict_set_int(dict, "minor", dev->si_uminor))) goto error_out; diff --git a/sys/vfs/devfs/devfs_core.c b/sys/vfs/devfs/devfs_core.c index eb14bb3..f554acf 100644 --- a/sys/vfs/devfs/devfs_core.c +++ b/sys/vfs/devfs/devfs_core.c @@ -340,7 +340,7 @@ try_again: KKASSERT(node->d_dev); vp->v_uminor = node->d_dev->si_uminor; - vp->v_umajor = 0; + vp->v_umajor = node->d_dev->si_umajor; v_associate_rdev(vp, node->d_dev); vp->v_ops = &node->mp->mnt_vn_spec_ops; @@ -2242,7 +2242,6 @@ devfs_new_cdev(struct dev_ops *ops, int minor, struct dev_ops *bops) dev->si_parent = NULL; dev->si_ops = ops; dev->si_flags = 0; - dev->si_umajor = 0; dev->si_uminor = minor; dev->si_bops = bops; @@ -2261,6 +2260,7 @@ devfs_new_cdev(struct dev_ops *ops, int minor, struct dev_ops *bops) dev->si_inode = makeudev( devfs_reference_ops((bops)?(bops):(ops)), minor ); + dev->si_umajor = umajor(dev->si_inode); return dev; } -- 1.7.7.2