[Glibc-bsd-commits] r3165 - in trunk/kfreebsd-8/debian: . patches

Aurelien Jarno aurel32 at alioth.debian.org
Tue Aug 17 18:02:56 UTC 2010


Author: aurel32
Date: 2010-08-17 18:02:52 +0000 (Tue, 17 Aug 2010)
New Revision: 3165

Added:
   trunk/kfreebsd-8/debian/patches/107_mount_update.diff
Modified:
   trunk/kfreebsd-8/debian/changelog
   trunk/kfreebsd-8/debian/patches/series
Log:
  * Correctly update a root filesystem to read/write when the mount 
    options are passed as flags instead of iovec, like in busybox.



Modified: trunk/kfreebsd-8/debian/changelog
===================================================================
--- trunk/kfreebsd-8/debian/changelog	2010-08-13 23:08:48 UTC (rev 3164)
+++ trunk/kfreebsd-8/debian/changelog	2010-08-17 18:02:52 UTC (rev 3165)
@@ -1,3 +1,10 @@
+kfreebsd-8 (8.1-5) UNRELEASED; urgency=low
+
+  * Correctly update a root filesystem to read/write when the mount 
+    options are passed as flags instead of iovec, like in busybox.
+
+ -- Aurelien Jarno <aurel32 at debian.org>  Tue, 17 Aug 2010 19:00:29 +0200
+
 kfreebsd-8 (8.1-4) unstable; urgency=low
 
   [ Petr Salinger]

Added: trunk/kfreebsd-8/debian/patches/107_mount_update.diff
===================================================================
--- trunk/kfreebsd-8/debian/patches/107_mount_update.diff	                        (rev 0)
+++ trunk/kfreebsd-8/debian/patches/107_mount_update.diff	2010-08-17 18:02:52 UTC (rev 3165)
@@ -0,0 +1,36 @@
+--- a/sys/kern/vfs_mount.c
++++ b/sys/kern/vfs_mount.c
+@@ -559,10 +559,10 @@
+ 	struct vfsopt *opt, *noro_opt, *tmp_opt;
+ 	char *fstype, *fspath, *errmsg;
+ 	int error, fstypelen, fspathlen, errmsg_len, errmsg_pos;
+-	int has_rw, has_noro;
++	int has_noro;
+ 
+ 	errmsg = fspath = NULL;
+-	errmsg_len = has_noro = has_rw = fspathlen = 0;
++	errmsg_len = has_noro = fspathlen = 0;
+ 	errmsg_pos = -1;
+ 
+ 	error = vfs_buildopts(fsoptions, &optlist);
+@@ -659,10 +659,8 @@
+ 			fsflags &= ~MNT_RDONLY;
+ 			has_noro = 1;
+ 		}
+-		else if (strcmp(opt->name, "rw") == 0) {
++		else if (strcmp(opt->name, "rw") == 0)
+ 			fsflags &= ~MNT_RDONLY;
+-			has_rw = 1;
+-		}
+ 		else if (strcmp(opt->name, "ro") == 0)
+ 			fsflags |= MNT_RDONLY;
+ 		else if (strcmp(opt->name, "rdonly") == 0) {
+@@ -684,7 +682,7 @@
+ 	 * we need a mount option "noro", since in vfs_mergeopts(),
+ 	 * "noro" will cancel "ro", but "rw" will not do anything.
+ 	 */
+-	if (has_rw && !has_noro) {
++	if (!(fsflags & MNT_RDONLY) && !has_noro) {
+ 		noro_opt = malloc(sizeof(struct vfsopt), M_MOUNT, M_WAITOK);
+ 		noro_opt->name = strdup("noro", M_MOUNT);
+ 		noro_opt->value = NULL;

Modified: trunk/kfreebsd-8/debian/patches/series
===================================================================
--- trunk/kfreebsd-8/debian/patches/series	2010-08-13 23:08:48 UTC (rev 3164)
+++ trunk/kfreebsd-8/debian/patches/series	2010-08-17 18:02:52 UTC (rev 3165)
@@ -15,6 +15,7 @@
 104_linprocfs.diff
 105_apm_amd64.diff
 106_teken_op.diff
+107_mount_update.diff
 902_version.diff
 903_disable_non-free_drivers.diff 
 904_dev_full.diff




More information about the Glibc-bsd-commits mailing list