Пример #1
0
     }
 }
 $confStats['stats']['failedDisk'] = $failedDisk;
 if ($currConfig > 0) {
     // make the locator for the previous config
     $hmPrev = new PHPDFS_DataLocator_RUSHr($configs['data'][$currConfig - 1]);
 }
 foreach ($objs as $objId) {
     $time = microtime(1);
     $disks = $hm->findNodes($objId);
     $totalTime += microtime(1) - $time;
     $lookups++;
     $movedFrom = null;
     $movedTo = null;
     if ($currConfig > 0) {
         $prevDisks = $hmPrev->findNodes($objId);
         $movedFrom = array_diff($prevDisks, $disks);
         $movedTo = array_diff($disks, $prevDisks);
         if (count($movedFrom)) {
             //print_r( array( $prevDisks, $disks, $movedFrom, $movedTo) );
             //exit();
             foreach ($movedFrom as $prevDisk) {
                 $toDisk = array_shift($movedTo);
                 if (!isset($confStats['stats']['moved']['from'][$prevDisk])) {
                     $confStats['stats']['moved']['from'][$prevDisk] = 0;
                 }
                 $confStats['stats']['moved']['from'][$prevDisk]++;
                 if (!isset($confStats['stats']['moved']['to'][$toDisk])) {
                     $confStats['stats']['moved']['to'][$toDisk] = 0;
                 }
                 $confStats['stats']['moved']['to'][$toDisk]++;