Alg ifree
algoritm ifree /* eliberare inod */
intrare: numãr inod din sistemul de fiºiere
ieºire: niciuna
{
incrementeazã contorul inodurilor libere;
if (superblocul este blocat)
return;
if (lista de inoduri este plinã)
{
if (numãrul inodului este mai mic decât al inodului memorat)
inodul memorat pentru cãutare = numãr inod de intrare;
}
else
pune numãrul inodului în lista inodurilor libere;
return;
}
Dacă lista nu este blocată, nucleul verifică dacă mai este spaţiu în lista de inoduri, şi dacă este, plasează numărul de inod în listă după care algoritmul se încheie. Dacă lista este plină, se compară numărul inodului eliberat cu cel al inodului memorat. Dacă este mai mic, devine noul inod memorat. Vechiul inod memorat nu este pierdut, deoarece nucleul îl poate gåsi dacå cautå în lista de inoduri de pe disc. Ideal ar fi să nu existe inoduri libere ale căror numere sunt mai mici decât numărul inodului memorat, dar în realitate sunt posibile şi astfel de situaţii.