zfs sharenfs to multiple subnets - found a dirty looking hack

Marco van Tol marco at tols.org
Mon Dec 28 23:25:47 UTC 2009


Hi there,

I would like to refer to a thread in this list about zfs exporting to
multiple subnets using sharenfs.  The thread I mean is this one:
http://lists.freebsd.org/pipermail/freebsd-fs/2008-September/005158.html
I wasn't subscribed at the time, so I'm just referencing to the thread.

I was testing and needed to also export a filesystem to multiple subnets,
and found something out that may or may not be allowed.

What happens is you start to type
zfs set sharenfs="<arguments>
and don't close the double quote.  The result on the following lines will
literally make it to /etc/zfs/exports, and make it work as desired.

A full session would look like: 
(Bear with me for typo's, I didn't copy-paste)

zfs set sharenfs="-maproot=root -network 10.0.0.0/24
> /path/to/mountpoint	-maproot=root -network 192.168.0.0/24
> /path/to/mountpoint	-maproot=root -network 172.16.0.0/24"	pool0/space

This translates to an /etc/zfs/exports like:
----< cut here >----
/path/to/mountpoint	-maproot=root -network=10.0.0.0/24
/path/to/mountpoint	-maproot=root -network=192.168.0.0/24
/path/to/mountpoint	-maproot=root -network=172.16.0.0/24
----< cut here >----

The resulting "zfs get sharenfs" looks like:
----< cut here >----
pool0/space	sharenfs	-maproot=root -network=10.0.0.0/24
/path/to/mountpoint	-maproot=root -network=192.168.0.0/24
/path/to/mountpoint	-maproot=root -network=172.16.0.0/24	local
----< cut here >----

This all makes it work so that it exports the pool to multiple subnets,
possibly with their own properties.

Question is however, how desirable is it that this works? ;-)

Kind regards,

Marco van Tol

-- 
It's fried rice, you plick. -- Lethal Weapon 4


More information about the freebsd-fs mailing list