function check_xen_dirlocation()
 {
     $diro = getFirstFromList($this->main->__t_new_xen_location_a_list);
     $dirlocation = $diro->nname;
     if (!csb($dirlocation, "lvm:")) {
         return;
     }
     $dirlocation = fix_vgname($dirlocation);
     $ret = exec_with_all_closed_output("vgdisplay -c {$dirlocation}");
     if (!csa($ret, ":")) {
         throw new lxException("the_lvm_doesnt_exist", 'nname', $dirlocation);
     }
 }
Exemple #2
0
function get_partition($disk, $root)
{
    $lv = basename($disk);
    $root = fix_vgname($root);
    $path = "/dev/mapper/{$root}-{$lv}";
    lxshell_return("kpartx", "-a", $path);
    $out = lxshell_output("kpartx", "-l", $path);
    $o = explode("\n", $out);
    $o = trimSpaces($o[0]);
    $o = explode(" ", $o);
    $partition = trimSpaces($o[0]);
    $partition = "/dev/mapper/{$partition}";
    //lxshell_return("ntfsfix", $partition);
    return $partition;
}
Exemple #3
0
 public function getSnapshotName()
 {
     $vgname = fix_vgname($this->main->corerootdir);
     $snap = "/dev/{$vgname}/{$this->main->nname}_snapshot";
     return $snap;
 }
Exemple #4
0
function lvm_create($vgname, $lvmname, $size)
{
    $vgname = fix_vgname($vgname);
    $lvmname = basename($lvmname);
    return lxshell_return("lvcreate", "-L{$size}M", "-n{$lvmname}", $vgname);
}
Exemple #5
0
function lxfile_get_ntfs_disk_usage($file, $root)
{
    $file = expand_real_root($file);
    $root = fix_vgname($root);
    $ldevice = get_partition($file, $root);
    $res = lxshell_output("ntfscluster", "-f", $ldevice);
    $base = basename($file);
    kpart_remove("/dev/mapper/{$root}-{$base}");
    $res = explode("\n", $res);
    foreach ($res as $r) {
        $r = trim($r);
        if (!csa($r, ":")) {
            continue;
        }
        list($var, $val) = explode(":", $r);
        $var = trim($var);
        $val = trim($val);
        if ($var === "bytes per volume") {
            $total = round($val / (1024 * 1024), 1);
        }
        if ($var === "bytes of user data") {
            $used = round($val / (1024 * 1024), 1);
        }
    }
    $ret['total'] = $total;
    $ret['used'] = $used;
    return $ret;
}
Exemple #6
0
 function getXenMaindiskName()
 {
     if ($this->isXenLvm()) {
         $vgname = $this->corerootdir;
         $vgname = fix_vgname($vgname);
         $maindisk = "/dev/{$vgname}/{$this->maindiskname}";
     } else {
         $maindisk = "{$this->corerootdir}/{$this->nname}/{$this->maindiskname}";
     }
     return $maindisk;
 }