[Bug 193338] New: vfs_mountroot_shuffle sets wrong mnt_stat.mntonname

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Sep 5 09:28:03 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193338

            Bug ID: 193338
           Summary: vfs_mountroot_shuffle sets wrong mnt_stat.mntonname
           Product: Base System
           Version: 10.0-STABLE
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: dvm.avgoor at gmail.com

Created attachment 146853
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=146853&action=edit
patch

In case if you have configured /.mount.conf with several rootfs options like
(for example):

.md /mfs_root.lz readonly
ufs:/dev/ufs/rootimg
.timeout 3
ufs:/dev/ufs/bootfail
.ask

after fail at first rootfs kernel proceeds to next and loads it correct. But
after loading system there are wrong options in mounted filesystems:

/dev/ufs/failsafe on / (ufs, local, read-only)
/dev/ufs/bootfail on /.mount (ufs, local, read-only)
/dev/ufs/boot on /.mount (ufs, local, read-only)

And a real ufs/boot is under /.mount/.mount/ instead of /.mount 
In this case you can't unmount it or remount to RW. Underlying filesystems
become useless. This happens because of vfs_mountroot_shuffle() sets
mporoot->mnt_stat.f_mntonname unconditional, despite the real FS hierarchy.

I have attached something looks like a patch, please review it. I hope it will
help.
Thank you.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list