HomeFreeBSD

Check the dataset type more rigorously when fetching properties.

Description

Check the dataset type more rigorously when fetching properties.

When fetching property values of snapshots, a check against the head
dataset type must be performed. Previously, this additional check was
performed only when fetching "version", "normalize", "utf8only" or "case".

This caused the ZPL properties "acltype", "exec", "devices", "nbmand",
"setuid" and "xattr" to be erroneously displayed with meaningless values
for snapshots of volumes. It also did not allow for the display of
"volsize" of a snapshot of a volume.

This patch adds the headcheck flag paramater to zfs_prop_valid_for_type()
and zprop_valid_for_type() to indicate the check is being done
against a head dataset's type in order that properties valid only for
snapshots are handled correctly. This allows the the head check in
get_numeric_property() to be performed when fetching a property for
a snapshot.

Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #2265

Details

Provenance
Tim Chase <tim@chase2k.com>Authored on Apr 21 2014, 6:22 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on May 6 2014, 5:41 PM
Parents
rG1ce0457348ae: Fix style
Branches
Unknown
Tags
Unknown