Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Dec 2006 10:48:20 -0800
From:      Peter Grehan <grehan@freebsd.org>
To:        Rafal Jaworowski <raj@semihalf.com>
Cc:        ppc@FreeBSD.org
Subject:   Re: HFS+
Message-ID:  <458C2874.8030404@freebsd.org>
In-Reply-To: <458C0555.5070707@semihalf.com>
References:  <38D687BE-F674-4954-B6D3-8D25A8E9B9B5@mac.com>	<4588846D.3040709@semihalf.com> <45888E72.6050406@freebsd.org> <458956DB.7040009@semihalf.com> <4589844A.5070206@freebsd.org> <458C0555.5070707@semihalf.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------000401080705050202000502
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rafal,

> Would your patches allow for pen drive root mount? I'd be glad to have a 
> look if so.

  Patch attached. Yes, should be no problem from the pen drive so long 
as you get the partition right: /dev/da0s?

later,

Peter.

--------------000401080705050202000502
Content-Type: text/plain;
 name="msdosfs_root.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="msdosfs_root.patch"

Index: sys/fs/msdosfs/msdosfs_vfsops.c
===================================================================
RCS file: /home/ncvs/src/sys/fs/msdosfs/msdosfs_vfsops.c,v
retrieving revision 1.155
diff -d -u -r1.155 msdosfs_vfsops.c
--- sys/fs/msdosfs/msdosfs_vfsops.c	9 Dec 2006 01:49:19 -0000	1.155
+++ sys/fs/msdosfs/msdosfs_vfsops.c	22 Dec 2006 18:08:49 -0000
@@ -160,8 +160,21 @@
 		pmp->pm_uid = v;
 	if (1 == vfs_scanopt(mp->mnt_optnew, "mask", "%d", &v))
 		pmp->pm_mask = v & ALLPERMS;
+#ifdef MSDOSFS_ROOT
+	/*
+	 * For root mounts the option won't be set and the mask
+	 * will be zero, so set it to all-permissions or no files
+	 * can be accessed.
+	 */
+	else if (pmp->pm_mask == 0)
+		pmp->pm_mask = ALLPERMS;	
+#endif
 	if (1 == vfs_scanopt(mp->mnt_optnew, "dirmask", "%d", &v))
 		pmp->pm_dirmask = v & ALLPERMS;
+#ifdef MSDOSFS_ROOT
+	else if (pmp->pm_dirmask == 0)
+		pmp->pm_dirmask = ALLPERMS;
+#endif
 	vfs_flagopt(mp->mnt_optnew, "shortname",
 	    &pmp->pm_flags, MSDOSFSMNT_SHORTNAME);
 	vfs_flagopt(mp->mnt_optnew, "shortnames",

--------------000401080705050202000502--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?458C2874.8030404>