diff options
-rw-r--r-- | sys/kern/vfs_export.c | 6 | ||||
-rw-r--r-- | sys/kern/vfs_subr.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 4e7c3e3..6483660 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -350,9 +350,11 @@ vfs_getnewfsid(mp) simple_lock(&mntid_slock); mtype = mp->mnt_vfc->vfc_typenum; tfsid.val[1] = mtype; - mtype = (mtype & 0xFF) << 16; + mtype = (mtype & 0xFF) << 24; for (;;) { - tfsid.val[0] = makeudev(255, mtype | mntid_base++); + tfsid.val[0] = makeudev(255, + mtype | ((mntid_base & 0xFF00) << 8) | (mntid_base & 0xFF)); + mntid_base++; if (vfs_getvfs(&tfsid) == NULL) break; } diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 4e7c3e3..6483660 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -350,9 +350,11 @@ vfs_getnewfsid(mp) simple_lock(&mntid_slock); mtype = mp->mnt_vfc->vfc_typenum; tfsid.val[1] = mtype; - mtype = (mtype & 0xFF) << 16; + mtype = (mtype & 0xFF) << 24; for (;;) { - tfsid.val[0] = makeudev(255, mtype | mntid_base++); + tfsid.val[0] = makeudev(255, + mtype | ((mntid_base & 0xFF00) << 8) | (mntid_base & 0xFF)); + mntid_base++; if (vfs_getvfs(&tfsid) == NULL) break; } |