Sha256: 8028aca02ad4e7d1cd8da20c4d53d57558f0879a492478e42aaf92bf0eaba3ff

Contents?: true

Size: 698 Bytes

Versions: 14

Compression:

Stored size: 698 Bytes

Contents

module AUFSProbe
  #
  # TODO: Verify these offsets - in the standard superblock,
  # sig (magic) is a short surrounded by two valid shorts.
  #
  AUFS_SUPER_OFFSET = 1024
  AUFS_MAGIC_OFFSET = 52
  AUFS_MAGIC_SIZE   = 4
  AUFS_SUPER_MAGIC  = 0x12121313
  AUFS_FSTYPE       = "aufs"

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

    # Check for aufs magic number or name at offset.
    dobj.seek(AUFS_SUPER_OFFSET + AUFS_MAGIC_OFFSET)
    buf = dobj.read(AUFS_MAGIC_SIZE)
    isAufs = false
    isAufs = true if buf.unpack('L')[0] == AUFS_SUPER_MAGIC
    isAufs = true if buf == AUFS_FSTYPE
    raise "AUFS is Not Supported" if isAufs

    # No AUFS.
    false
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
manageiq-smartstate-0.2.6 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.2.5 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.2.4 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.2.3 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.2.2 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.2.1 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.2.0 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.1.6 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.1.5 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.1.4 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.1.3 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.1.2 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.1.1 lib/fs/MiqFS/modules/AUFSProbe.rb
manageiq-smartstate-0.1.0 lib/fs/MiqFS/modules/AUFSProbe.rb