X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/6effd0769b012b1ac78cfeda307cec54802f9b58..987e46804306c42a4fd39c2b2d412792c6aeb4cb:/emufs/tipo2_main.c diff --git a/emufs/tipo2_main.c b/emufs/tipo2_main.c index 77c22b0..ae03f7c 100644 --- a/emufs/tipo2_main.c +++ b/emufs/tipo2_main.c @@ -30,8 +30,10 @@ #include #include +#include #include "emufs.h" #include "fsc.h" +#include "tipo2.h" int main(int argc, char *argv[]) { @@ -74,9 +76,10 @@ int main(int argc, char *argv[]) n5 = efs->grabar_registro(efs, f, 9, &err); n6 = efs->grabar_registro(efs, g, 41, &err); n7 = efs->grabar_registro(efs, h, 63, &err); + n8 = efs->grabar_registro(efs, d, 8, &err); /* Borramos un registro del medio */ - printf("tipo2_main.c >> Borrando registro: %lu\n",n5); + /*printf("tipo2_main.c >> Borrando registro: %lu\n",n5); efs->borrar_registro(efs, n5); printf("tipo2_main.c >> Borrando registro: %lu\n",n1); efs->borrar_registro(efs, n1); @@ -87,13 +90,15 @@ int main(int argc, char *argv[]) printf("tipo2_main.c >> Borrando registro: %lu\n",n7); efs->borrar_registro(efs, n7); printf("tipo2_main.c >> Borrando registro: %lu\n",n4); + efs->borrar_registro(efs, n4);*/ + + /* Prueba de recompactacion */ + efs->borrar_registro(efs, n2); + efs->borrar_registro(efs, n7); efs->borrar_registro(efs, n4); - - n8 = efs->grabar_registro(efs, d, 8, &err); - printf("tipo2_main.c >> Id recuperado: %lu\n",n8); - + /* Levanto un registro */ - registro = efs->leer_registro(efs,n2,®_size,&err); + registro = efs->leer_registro(efs,n1,®_size,&err); if (err == 0) { printf("tipo2_main.c >>Registro: %lu Size: %lu Content: %s\n\n",n2,reg_size,registro); } @@ -101,9 +106,26 @@ int main(int argc, char *argv[]) /* Obtengo stats */ stats = efs->leer_estadisticas(efs); printf("Size del Archivo de datos: %lu\n",stats.tam_archivo_bytes); + printf("Cantidad de Registros en el Archivo de datos: %lu\n",stats.tam_archivo); + printf("Total de espacio libre en el .dat: %lu\n",stats.total_fs); + printf("Minimo espacio libre en bloque o gap: %lu\n",stats.min_fs); + printf("Maximo espacio libre en bloque o gap: %lu\n",stats.max_fs); + printf("Media de espacio libre en bloque o gap: %lu\n",stats.media_fs); + printf("Cantidad en bytes de informacion de control: %lu\n",stats.info_control); + + /* Recompacto */ + printf("Recompactando...\n"); + emufs_tipo2_recompactar(efs); + + /* Obtengo stats nevas */ + stats = efs->leer_estadisticas(efs); + printf("Size del Archivo de datos: %lu\n",stats.tam_archivo_bytes); + printf("Cantidad de Registros en el Archivo de datos: %lu\n",stats.tam_archivo); printf("Total de espacio libre en el .dat: %lu\n",stats.total_fs); printf("Minimo espacio libre en bloque o gap: %lu\n",stats.min_fs); printf("Maximo espacio libre en bloque o gap: %lu\n",stats.max_fs); + printf("Media de espacio libre en bloque o gap: %lu\n",stats.media_fs); + printf("Cantidad en bytes de informacion de control: %lu\n",stats.info_control); emufs_destruir(efs);