5

While working with zfs I saw that 'zfs get all' for some existing file systems would list properties with '%' (percent sign) added to the the name of the file system. Like so:

# zfs list
...
test_zpool2/test_vol_91   564M  19.4G   564M  /vol/test_zpool2/test_vol_91

# zfs get all
...
test_zpool2/test_vol_91   version     6                             -
test_zpool2/test_vol_91   vscan       off                           default
test_zpool2/test_vol_91   xattr       on                            default
test_zpool2/test_vol_91   zoned       off                           default
...
test_zpool2/test_vol_91%  creation    Wed Nov 19 17:01 2014         -
test_zpool2/test_vol_91%  mountpoint  /vol/test_zpool2/test_vol_91  -
test_zpool2/test_vol_91%  share.*     ...                           inherited
test_zpool2/test_vol_91%  zoned       off                           default

I have been unable to find out what the reason is for this, nothing is mentioned in the manual pages. Anybody knows?

Some more output

# zfs list -H
rpool                           11.7G   7.60G   4.64M   /rpool
rpool/ROOT                      9.10G   7.60G   31K     legacy
rpool/ROOT/solaris              9.10G   7.60G   7.50G   /
rpool/ROOT/solaris/var          1.18G   7.60G   982M    /var
rpool/VARSHARE                  33.0M   7.60G   32.9M   /var/share
rpool/VARSHARE/pkg              63K     7.60G   32K     /var/share/pkg
rpool/VARSHARE/pkg/repositories 31K     7.60G   31K     /var/share/pkg/repositories
rpool/VARSHARE/zones            31K     7.60G   31K     /system/zones
rpool/dump                      1.55G   7.65G   1.50G   -
rpool/export                    63K     7.60G   32K     /export
rpool/export/home               31K     7.60G   31K     /export/home
rpool/swap                      1.03G   7.63G   1.00G   -
test_zpool2                     776M    48.2G   42K     /vol/test_zpool2
test_zpool2/test_vol_91         564M    19.4G   564M    /vol/test_zpool2/test_vol_91
test_zpool2/test_vol_92         78.2M   19.9G   78.2M   /vol/test_zpool2/test_vol_92
test_zpool2/test_vol_990        31K     128M    31K    /vol/test_zpool2/test_vol_990
test_zpool2/test_vol_9999       132M    48.3G   16K     -

# zfs list -t all => http://pastebin.com/U48njPMX

# zfs get all => http://pastebin.com/LM1fzX71

user
  • 4,267
  • 4
  • 32
  • 70
Magentron
  • 223
  • 1
  • 7

2 Answers2

5

Filesystems with a % character in them are shares of some sort. You can see the share properties for all shared filesystems with zfs get share.all

This is documented in the man page for zfs_share: "A file system's automatic share name displays as filesystem%. For example, tank/home%."

That style of documenting something is typical of Sun/Solaris. Something will be mentioned once, buried in some obscure place. The nice thing is the documentation never contradicts itself, and it's always been correct in my experience. The bad thing about that style of documentation is finding what you're looking for.

Andrew Henle
  • 1,232
  • 9
  • 11
0

According to the Oracle Solaris ZFS Administration Guide,

  • Pool names must not contain a percent sign (%).
  • Dataset names must not contain a percent sign (%).

But recent zfs versions also have:

An inclusive range of snapshots may be specified by separating the first and last snapshots with a percent sign.

So, you may have something else going on. You can't create a filesystem with % in it:

[root@xt ~]# zfs create vol1/test%
cannot create 'vol1/test%': invalid character % in name

Your zfs get all listing is very abbreviated, so posting more information would be helpful. Also, if something strange happened, it may be in the zpool history output.

ewwhite
  • 194,921
  • 91
  • 434
  • 799
  • The only actions I see in the history are: `snapshot` and `destroy -f` (of snapshots) if I grep for file system *test_zpool2/test_vol_91* – Magentron Aug 10 '15 at 16:23