Skip to content

Commit 0f74595

Browse files
authored
Merge pull request #84 from AriaXLi/maint_relatime
Update zfs with relatime support
2 parents b31e0ae + d870997 commit 0f74595

File tree

5 files changed

+16
-3
lines changed

5 files changed

+16
-3
lines changed

REFERENCE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ The refquota property. Valid values are `<size>`, `none`.
127127

128128
The refreservation property. Valid values are `<size>`, `none`.
129129

130+
##### `relatime`
131+
132+
The relatime property. Valid values are `on`, `off`. Only supported on Linux
133+
130134
##### `reservation`
131135

132136
The reservation property. Valid values are `<size>`, `none`.

lib/puppet/provider/zfs/zfs.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ def container_property
5858
# acltype is for ZFS on Linux, and allows disabling or enabling POSIX ACLs
5959
# http://webcache.googleusercontent.com/search?q=cache:-p74K0DVsdwJ:developers.slashdot.org/story/11/11/09/2343258/solaris-11-released+&cd=13
6060
# defaultuserquota is not supported in zfs filesystem versions older than 6 and will error on Solaris 10 machines
61-
[:aclmode, :acltype, :shareiscsi, :overlay, :defaultuserquota].each do |field|
61+
# relatime is only supported on ZFS on Linux
62+
[:aclmode, :acltype, :shareiscsi, :overlay, :defaultuserquota, :relatime].each do |field|
6263
# The zfs commands use the property value '-' to indicate that the
6364
# property is not set. We make use of this value to indicate that the
6465
# property is not set since it is not available. Conversely, if these

lib/puppet/type/zfs.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,14 @@ module Puppet
118118
desc 'The refreservation property. Valid values are `<size>`, `none`.'
119119
end
120120

121+
newproperty(:relatime) do
122+
desc 'The relatime property. Valid values are `on`, `off`. Only supported on Linux'
123+
124+
validate do |_value|
125+
raise Puppet::Error _('This property is only supported on Linux') unless Facter.value(:kernel) == 'Linux'
126+
end
127+
end
128+
121129
newproperty(:reservation) do
122130
desc 'The reservation property. Valid values are `<size>`, `none`.'
123131
end

spec/unit/provider/zfs/zfs_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
[:aclinherit, :aclmode, :atime, :canmount, :checksum,
9494
:compression, :copies, :dedup, :defaultuserquota, :devices, :exec, :logbias,
9595
:mountpoint, :nbmand, :overlay, :primarycache, :quota, :readonly,
96-
:recordsize, :refquota, :refreservation, :reservation,
96+
:recordsize, :refquota, :refreservation, :relatime, :reservation,
9797
:secondarycache, :setuid, :shareiscsi, :sharenfs, :sharesmb,
9898
:snapdir, :version, :volsize, :vscan, :xattr].each do |prop|
9999
it "gets #{prop}" do

spec/unit/type/zfs_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require 'spec_helper'
22

33
describe Puppet::Type.type(:zfs) do
4-
properties = [:ensure, :mountpoint, :compression, :copies, :overlay, :quota, :defaultuserquota, :reservation, :sharenfs, :snapdir, :sync]
4+
properties = [:ensure, :mountpoint, :compression, :copies, :overlay, :quota, :defaultuserquota, :relatime, :reservation, :sharenfs, :snapdir, :sync]
55

66
properties.each do |property|
77
it "has a #{property} property" do

0 commit comments

Comments
 (0)