int dm_block_update(int ID): funzione pubblica che aggiorna il contenuto della copia locale con il contenuto globale sul server. La funzione trova il server che contiene il blocco ID richiamando la find_server, trova il blocco interessato richiamando la find_block, invia il comando relativo all'operazione dal svolgere al server, invia l'ID del blocco interessato al server, riceve il controllo sulla validità della copia locale del blocco dal server e se la copia locale risulta ancora valida non effettua alcuna copia, altrimenti, aggiorna il contenuto della copia locale con quello della copia globale. La funzione restituisce 1 in caso di successo e -1 in caso di errore (il server non risponde, il blocco non era stato associato ad alcun indirizzo di memoria locale).
|