$OpenBSD: patch-lib_facter_memory_rb,v 1.7 2013/06/27 19:04:23 jasper Exp $
--- lib/facter/memory.rb.orig Mon May 13 21:30:15 2013
+++ lib/facter/memory.rb Thu Jun 27 20:53:44 2013
@@ -82,6 +82,16 @@ end
end
end
+if Facter.value(:kernel) == "OpenBSD"
+ Facter.add("SwapEncrypted") do
+ confine :kernel => :openbsd
+ setcode do
+ encrypted = !Facter::Util::Resolution.exec("/sbin/sysctl -n vm.swapencrypt.enable").to_i.zero?
+ encrypted
+ end
+ end
+end
+
if Facter.value(:kernel) == "Darwin"
Facter.add("SwapEncrypted") do
confine :kernel => :Darwin
@@ -157,6 +167,32 @@ Facter.add("swapfree_mb") do
swap_anon_use = Facter::Util::Resolution.exec("/sbin/sysctl -n vm.swap_anon_use").to_f * page_size
swap_cache_use = Facter::Util::Resolution.exec("/sbin/sysctl -n vm.swap_cache_use").to_f * page_size
swapfree = swaptotal - swap_anon_use - swap_cache_use
+ "%.2f" % [(swapfree.to_f / 1024.0) / 1024.0]
+ end
+end
+
+Facter.add("swapsize_mb") do
+ confine :kernel => :openbsd
+ setcode do
+ swap = Facter::Util::Resolution.exec('swapctl -s') || ""
+ swapfree, swaptotal, sbsize = 0, 0, 0
+ if swap =~ /^total: (\d+) (\d+)-blocks allocated, (\d+) used, (\d+) available$/
+ sbsize = $2.to_i
+ swaptotal = ($1.to_i * sbsize)
+ end
+ "%.2f" % [(swaptotal.to_f / 1024.0) / 1024.0]
+ end
+end
+
+Facter.add("swapfree_mb") do
+ confine :kernel => :openbsd
+ setcode do
+ swap = Facter::Util::Resolution.exec('swapctl -s') || ""
+ swapfree, swaptotal, sbsize = 0, 0, 0
+ if swap =~ /^total: (\d+) (\d+)-blocks allocated, (\d+) used, (\d+) available$/
+ sbsize = $2.to_i
+ swapfree = ($4.to_i * sbsize)
+ end
"%.2f" % [(swapfree.to_f / 1024.0) / 1024.0]
end
end