int dm_block_write(int ID): funzione pubblica che sincronizza il contenuto locale del blocco 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 valida sincronizza il contenuto locale del blocco con il contenuto globale sul server. La funzione ritorna con errore (con codici di errori diversi) nel caso in cui il blocco non era stato associato ad alcun indirizzo di memoria locale, la copia locale del blocco risulta invalida, il server non risponde. La funzione restituisce 1 in caso di successo.
|