Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jan 2012 17:34:57 +0200
From:      Jaakko Heinonen <jh@FreeBSD.org>
To:        Mikolaj Golub <trociny@freebsd.org>
Cc:        svn-src-head@freebsd.org, Kevin Lo <kevlo@FreeBSD.org>, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r230252 - head/sys/fs/tmpfs
Message-ID:  <20120123153457.GA2246@a91-153-116-96.elisa-laajakaista.fi>
In-Reply-To: <86lioztzh5.fsf@kopusha.home.net>
References:  <201201170125.q0H1PrlJ061058@svn.freebsd.org> <20120117171031.GA2316@a91-153-116-96.elisa-laajakaista.fi> <86obtvvr4v.fsf@kopusha.home.net> <20120122134218.GA2247@a91-153-116-96.elisa-laajakaista.fi> <86lioztzh5.fsf@kopusha.home.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-01-22, Mikolaj Golub wrote:
> Also, may be we should allow remounting ro (and may be some othe options) for
> tmpfs?

Yes, the patch below does that. I suspect that flipping the MNT_RDONLY
flag may be enough for tmpfs but I am not sure.

>  JH> %%%
>  JH> Index: sys/fs/tmpfs/tmpfs_vfsops.c
>  JH> ===================================================================
>  JH> --- sys/fs/tmpfs/tmpfs_vfsops.c        (revision 230328)
>  JH> +++ sys/fs/tmpfs/tmpfs_vfsops.c        (working copy)
>  JH> @@ -82,6 +82,10 @@ static const char *tmpfs_opts[] = {
>  JH>          NULL
>  JH>  };
>  JH>  
>  JH> +static const char *tmpfs_updateopts[] = {
>  JH> +        "from", "export", NULL
>  JH> +};
>  JH> +
>  JH>  /* --------------------------------------------------------------------- */
>  JH>  
>  JH>  static int
>  JH> @@ -150,12 +154,10 @@ tmpfs_mount(struct mount *mp)
>  JH>                  return (EINVAL);
>  JH>  
>  JH>          if (mp->mnt_flag & MNT_UPDATE) {
>  JH> -                /*
>  JH> -                 * Only support update mounts for NFS export.
>  JH> -                 */
>  JH> -                if (vfs_flagopt(mp->mnt_optnew, "export", NULL, 0))
>  JH> -                        return (0);
>  JH> -                return (EOPNOTSUPP);
>  JH> +                /* Only support update mounts for certain options. */
>  JH> +                if (vfs_filteropt(mp->mnt_optnew, tmpfs_updateopts) != 0)
>  JH> +                        return (EOPNOTSUPP);
>  JH> +                return (0);
>  JH>          }
>  JH>  
>  JH>          vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY);
>  JH> %%%

-- 
Jaakko



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