Sha256: 1c4a895283083cebbb4d65bbd552f256dd7a4d51bc8ac2b5f175e47252a929ec

Contents?: true

Size: 466 Bytes

Versions: 53

Compression:

Stored size: 466 Bytes

Contents

module ZFSProbe
  ZFS_SUPER_OFFSET  = 0
  ZFS_MAGIC_OFFSET  = 0
  ZFS_MAGIC_SIZE    = 4
  ZFS_SUPER_MAGIC   = 0x00bab10c

  def self.probe(dobj)
    return(false) unless dobj.kind_of?(MiqDisk)

    # Check for magic at uberblock offset.
    dobj.seek(ZFS_SUPER_OFFSET + ZFS_MAGIC_OFFSET)
    bs = dobj.read(ZFS_MAGIC_SIZE)&.unpack('L')
    magic = bs.nil? ? nil : bs[0]
    raise "ZFS is Not Supported" if magic == ZFS_SUPER_MAGIC

    # No ZFS.
    false
  end
end

Version data entries

53 entries across 53 versions & 1 rubygems

Version Path
manageiq-smartstate-0.11.0 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.10.1 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.10.0 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.9.0 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.8.1 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.8.0 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.7.0 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.6.2 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.5.10 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.3.10 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.6.1 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.3.9 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.6.0 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.5.9 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.5.8 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.3.8 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.5.7 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.3.7 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.5.6 lib/fs/MiqFS/modules/ZFSProbe.rb
manageiq-smartstate-0.3.6 lib/fs/MiqFS/modules/ZFSProbe.rb