tmpfs on contemporary -current: panic: locked against myself

Dag-Erling Smørgrav des at des.no
Mon Nov 12 06:46:00 PST 2007


Kostik Belousov <kostikbel at gmail.com> writes:
> The following patch fixed it for me.
>
> diff --git a/sys/fs/tmpfs/tmpfs_vfsops.c b/sys/fs/tmpfs/tmpfs_vfsops.c
> index 4a3cdec..55e9891 100644
> --- a/sys/fs/tmpfs/tmpfs_vfsops.c
> +++ b/sys/fs/tmpfs/tmpfs_vfsops.c
> @@ -201,7 +201,7 @@ tmpfs_mount(struct mount *mp, struct thread *td)
>  	/* Root node attributes. */
>  	uid_t	root_uid;
>  	gid_t	root_gid;
> -	mode_t	root_mode;
> +	int	root_mode;
>  
>  	struct vattr	va;
>  

Alternatively:

@@ -231,7 +231,7 @@
            vfs_scanopt(mp->mnt_optnew, "uid", "%d", &root_uid) != 1)
                root_uid = va.va_uid;
        if (mp->mnt_cred->cr_ruid != 0 ||
-           vfs_scanopt(mp->mnt_optnew, "mode", "%o", &root_mode) != 1)
+           vfs_scanopt(mp->mnt_optnew, "mode", "%ho", &root_mode) != 1)
                root_mode = va.va_mode;
        if(vfs_scanopt(mp->mnt_optnew, "inodes", "%d", &nodes_max) != 1)
                nodes_max = 0;

Incidentally, later edits to the tmpfs code have introduced a number of
style(9) violations, one of which is visible in my patch.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-current mailing list