X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/a9d8cb23434a72872288a9aa56cc2f80f56a0978..a7c8fea340860d01b4689b22ffa5b193680dd6f9:/emufs/tipo1.c diff --git a/emufs/tipo1.c b/emufs/tipo1.c index ddaa437..1af58b4 100644 --- a/emufs/tipo1.c +++ b/emufs/tipo1.c @@ -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");