Date: Tue, 30 Oct 2012 14:00:19 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Alfred Perlstein <bright@mu.org> Cc: jh@freebsd.org, stable@freebsd.org, re@freebsd.org, kevlo@freebsd.org Subject: Re: tmpfs nfs exports? Message-ID: <20121030120019.GU73505@kib.kiev.ua> In-Reply-To: <508FA008.2040503@mu.org> References: <508FA008.2040503@mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--wiiWofWi8Et/oezL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Oct 30, 2012 at 02:38:16AM -0700, Alfred Perlstein wrote: > Hey folks, any reason why not to include the following patch in 9.1? It= =20 > would be nice to have tmpfs be exportable. >=20 > I'm good to commit it, I can also wait until post 9.1. It is too late for 9.1. Patch is fine for stable/9, but you merged at the wrong point. Merge at sys/, not at the root of the sources. >=20 > $ svn diff > Index: . > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- . (revision 242331) > +++ . (working copy) >=20 > Property changes on: . > ___________________________________________________________________ > Modified: svn:mergeinfo > Merged /head:r234346 > Index: sys > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys (revision 242331) > +++ sys (working copy) >=20 > Property changes on: sys > ___________________________________________________________________ > Modified: svn:mergeinfo > Merged /head/sys:r234346 > Index: sys/fs > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/fs (revision 242331) > +++ sys/fs (working copy) >=20 > Property changes on: sys/fs > ___________________________________________________________________ > Modified: svn:mergeinfo > Merged /head/sys/fs:r234346 > Index: sys/fs/tmpfs/tmpfs.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/fs/tmpfs/tmpfs.h (revision 242331) > +++ sys/fs/tmpfs/tmpfs.h (working copy) > @@ -387,6 +387,9 @@ > * tmpfs_pool.c. */ > uma_zone_t tm_dirent_pool; > uma_zone_t tm_node_pool; > + > + /* Read-only status. */ > + int tm_ronly; > }; > #define TMPFS_LOCK(tm) mtx_lock(&(tm)->allnode_lock) > #define TMPFS_UNLOCK(tm) mtx_unlock(&(tm)->allnode_lock) > Index: sys/fs/tmpfs/tmpfs_vfsops.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/fs/tmpfs/tmpfs_vfsops.c (revision 242331) > +++ sys/fs/tmpfs/tmpfs_vfsops.c (working copy) > @@ -82,6 +82,10 @@ > NULL > }; >=20 > +static const char *tmpfs_updateopts[] =3D { > + "from", "export", NULL > +}; > + > /*=20 > --------------------------------------------------------------------- */ >=20 > static int > @@ -193,10 +197,13 @@ > return (EINVAL); >=20 > if (mp->mnt_flag & MNT_UPDATE) { > - /* XXX: There is no support yet to update file system > - * settings. Should be added. */ > - > - return EOPNOTSUPP; > + /* Only support update mounts for certain options. */ > + if (vfs_filteropt(mp->mnt_optnew, tmpfs_updateopts) !=3D 0) > + return (EOPNOTSUPP); > + if (vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0) !=3D > + ((struct tmpfs_mount *)mp->mnt_data)->tm_ronly) > + return (EOPNOTSUPP); > + return (0); > } >=20 > vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY); > @@ -269,6 +276,7 @@ > tmpfs_node_ctor, tmpfs_node_dtor, > tmpfs_node_init, tmpfs_node_fini, > UMA_ALIGN_PTR, 0); > + tmp->tm_ronly =3D (mp->mnt_flag & MNT_RDONLY) !=3D 0; >=20 > /* Allocate the root node. */ > error =3D tmpfs_alloc_node(tmp, VDIR, root_uid, --wiiWofWi8Et/oezL Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAlCPwVIACgkQC3+MBN1Mb4j4EACgvIQuCVV1Z/RdC80Wjxp7D9oy Dd4AoLyLcnlA2P5sBtg3wYhNn8BuiAsy =Ao3T -----END PGP SIGNATURE----- --wiiWofWi8Et/oezL--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121030120019.GU73505>