Re: 8.0-BETA4 panic: ffs_sync: rofs mod

From: Jaakko Heinonen <jh_at_saunalahti.fi>
Date: Tue, 15 Sep 2009 16:16:54 +0300
Hi,

On 2009-09-15, Craig Rodrigues wrote:
> Instead of using your proposed patch, could you try this patch?

Unfortunately the patch doesn't help. After the command

	# mount -o ro,rw /dev/md0 /mnt

active string options for the mount point are ro, noro, fstype, fspath,
from and errmsg. Again it blows on update mount because of the active
"ro" option.

I am also worried about using "noro" instead of "rw". At least zfs seem
to set and test for "rw" option. (Grep for MNTOPT_RW under sys/cddl.)

I have extended ddb(4) "show mount" command to print active string
options to ease debugging. The change is below if someone is interested.

%%%
Index: sys/kern/vfs_subr.c
===================================================================
--- sys/kern/vfs_subr.c	(revision 193492)
+++ sys/kern/vfs_subr.c	(working copy)
_at__at_ -2762,6 +2762,7 _at__at_
 DB_SHOW_COMMAND(mount, db_show_mount)
 {
 	struct mount *mp;
+	struct vfsopt *opt;
 	struct statfs *sp;
 	struct vnode *vp;
 	char buf[512];
_at__at_ -2867,6 +2868,18 _at__at_
 	}
 	db_printf("    mnt_kern_flag = %s\n", buf);
 
+	db_printf("    mnt_opt = ");
+	opt = TAILQ_FIRST(mp->mnt_opt);
+	if (opt != NULL) {
+		db_printf("%s", opt->name);
+		opt = TAILQ_NEXT(opt, link);
+		while (opt != NULL) {
+			db_printf(", %s", opt->name);
+			opt = TAILQ_NEXT(opt, link);
+		}
+	}
+	db_printf("\n");
+
 	sp = &mp->mnt_stat;
 	db_printf("    mnt_stat = { version=%u type=%u flags=0x%016jx "
 	    "bsize=%ju iosize=%ju blocks=%ju bfree=%ju bavail=%jd files=%ju "
%%%

-- 
Jaakko
Received on Tue Sep 15 2009 - 11:17:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:55 UTC