} } $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]++;