After crash, / comes up mounted read-only, but in multiuser;
mfs /tmp?
Maksim Yevmenkin
maksim.yevmenkin at savvis.net
Fri Dec 2 11:48:47 PST 2005
John Baldwin wrote:
> On Friday 02 December 2005 11:09 am, Maksim Yevmenkin wrote:
>
>>John Baldwin wrote:
>>
>>>On Friday 02 December 2005 08:33 am, David Xu wrote:
>>>
>>>>Robert Watson wrote:
>>>>
>>>>>While testing the new DRM update (went badly :-), I crashed my system
>>>>>and had to power cycle it. When it came back up, not surprisingly,
>>>>>the file systems weren't clean. When I reached a login prompt, I
>>>>>logged in to modify /etc/rc.conf, and to my surprise, was told that
>>>>>/etc/rc.conf wasn't writable. Turns out it was because / was mounted
>>>>>read-only:
>>>>>
>>>>>...
>>>>>
>>>>>/dev/ad0s3a on / (ufs, local, read-only)
>>>>>devfs on /dev (devfs, local)
>>>>>/dev/ad0s3e on /usr (ufs, local, soft-updates)
>>>>>/dev/ad0s3d on /var (ufs, local, soft-updates)
>>>>>/dev/md0 on /tmp (ufs, local)
>>>>>
>>>>>The rc scripts helpfully mounted an MFS /tmp for me, which while
>>>>>friendly, succeeded in masking the problem and allowing the system to
>>>>>come up in a rather undesirable state (from my perspective). So it
>>>>>sounds like maybe / wasn't remounted properly, and then the scripts
>>>>>were too helpful thinking it was a diskless system.
>>>>
>>>>I have seen this for some days, one machine I even have to reinstall
>>>>the system because mount -u / does not work. :-(
>>>
>>>I've seen reports that mount -u -w / works whereas mount -u -o rw /
>>>doesn't, so you might be able to mount -u -w / in single user mode after
>>>running fsck as a way to recover. Either that or boot single user, run
>>>fsck, and then reboot before going into multiuser.
>>
>>this is all very nice as workaround, but does somebody actually working
>>on the _real_ problem?
>>
>>it would be nice to have something in UPDATING saying this is broken
>>now. all i can find in UPDATING is
>>
>>20051129:
>> The nodev mount option was deprecated in RELENG_6 (where it
>> was a no-op), and is now unsupported. If you have nodev or dev listed
>> in /etc/fstab, remove it, otherwise it will result in a mount error.
>>
>>sure that is not the problem, is it?
>
> No, it's probably due to all the nmount changes in HEAD recently that have
> broken various mount options for other FS's such as smbfs and msdosfs as
> well. Probably should bug crodig@ or just dig into the code to see how -o rw
> used to be handled and how it is not handled now.
>
how about something quick and dirty, like so
beetle# pwd
/usr/src/sbin/mount
beetle# diff -u mount.c.orig mount.c
--- mount.c.orig Fri Dec 2 11:45:22 2005
+++ mount.c Fri Dec 2 11:41:53 2005
@@ -644,7 +644,10 @@
*p = '\0';
argv[argc++] = p+1;
}
- } else if (strcmp(p, "rw") != 0) {
+ } else if (strcmp(p, "rw") == 0) {
+ argv[argc++] = strdup("-o");
+ argv[argc++] = strdup("noro");
+ } else {
argv[argc++] = strdup("-o");
argv[argc++] = p;
}
%%
thanks,
max
More information about the freebsd-current
mailing list