]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo1.c
preparo para debuguear tipo3
[z.facultad/75.06/emufs.git] / emufs / tipo1.c
index ddaa437b20190fae4bc8732825b01083812ac72e..1af58b462bd9b8f622cdc238a8a27a68cdaff750 100644 (file)
@@ -75,7 +75,7 @@ static void* emufs_tipo1_leer_bloque(EMUFS*, EMUFS_BLOCK_ID, int*);
 static EMUFS_BLOCK_ID emufs_tipo1_grabar_bloque_fsc(EMUFS*, void*,
                EMUFS_BLOCK_ID, EMUFS_FREE, int*);
 
-CLAVE grabar_ordenado_en_bloque(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, 
+static CLAVE grabar_ordenado_en_bloque(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, 
                void *bloque, int num_bloque, EMUFS_FREE fs, int *err);
 
 /*------------------ Funciones públicas ----------------------*/
@@ -864,6 +864,7 @@ int emufs_tipo1_insertar_ordenado(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, in
                                clave = grabar_ordenado_en_bloque(emu,ptr,size,new_bloque,query.num_bloque, emu->tam_bloque-move_size,err);
                                /*actualizo el arbol con la nueva clave*/
                                query.clave = clave;
+                               printf("clave enviada = %d\n", clave);
                                emufs_b_plus_insertar(emu->indices, &query);
                                /*grabo el bloque original*/
                                emufs_tipo1_grabar_bloque_fsc(emu, bloque, num_bloque, EMUFS_NOT_FOUND, err);
@@ -884,6 +885,9 @@ int emufs_tipo1_insertar_ordenado(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, in
                                emufs_tipo1_grabar_bloque_fsc(emu, new_bloque, query.num_bloque, EMUFS_NOT_FOUND, err);
                                /*grabo el registro en el bloque original*/
                                grabar_ordenado_en_bloque(emu,ptr,size,bloque,num_bloque,fs+move_size,err);
+                               /*actualizo el arbol con la menor clave del bloque nuevo*/
+                               query.clave = emufs_indice_generar_clave(emu->indices, new_bloque+sizeof(EMUFS_TIPO1_REG_HEADER));
+                               emufs_b_plus_insertar(emu->indices, &query);
                        }
                        if(*err != 0){
                                PERR("NO SE PUDO GRABAR ORDENADO");