Method: LinuxAdmin::LogicalVolume.create

Defined in:
lib/linux_admin/logical_volume.rb

.create(name, vg, value) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/linux_admin/logical_volume.rb', line 73

def self.create(name, vg, value)
  self.scan # initialize local logical volumes
  params = { '-n' => name, nil => vg.name}
  size = nil
  if value <= 100
    # size = # TODO size from extents
    params.merge!({'-l' => "#{value}%FREE"})
  else
    size = value
    params.merge!({'-L' => bytes_to_string(size)})
  end
  Common.run!(Common.cmd(:lvcreate), :params => params)

  lv = LogicalVolume.new(:name => name,
                         :volume_group => vg,
                         :sectors => size)
  @lvs << lv
  lv
end