Changeset 152 for trunk/src


Ignore:
Timestamp:
06/02/09 16:00:38 (15 years ago)
Author:
tim
Message:

preliminary support for big data records

switched to using key flags rather than incorrect key types

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/reglookup-recover.c

    r151 r152  
    285285      else
    286286      {
    287         if((cur_ancestor->key_type == REGFI_NK_TYPE_ROOTKEY1)
    288            || (cur_ancestor->key_type == REGFI_NK_TYPE_ROOTKEY2))
     287        if(cur_ancestor->key_type & REGFI_NK_FLAG_ROOT)
    289288          virt_offset = REGFI_OFFSET_NONE;
    290289        else
     
    482481      if(vk->data_in_offset)
    483482      {
    484         data = regfi_parse_data(f, vk->type, vk->data_off,
    485                                 vk->data_size, 4,
    486                                 vk->data_in_offset, false);
     483        data = regfi_load_data(f, vk->type, vk->data_off,
     484                               vk->data_size, 4,
     485                               vk->data_in_offset, false);
    487486        vk->data = data.buf;
    488487        vk->data_size = data.len;
     
    495494          data_offset = vk->data_off+REGFI_REGF_SIZE;
    496495          data_maxsize = hbin->block_size + hbin->file_off - data_offset;
    497           data = regfi_parse_data(f, vk->type, data_offset,
    498                                   vk->data_size, data_maxsize,
    499                                   vk->data_in_offset, false);
     496          data = regfi_load_data(f, vk->type, data_offset,
     497                                 vk->data_size, data_maxsize,
     498                                 vk->data_in_offset, false);
    500499          vk->data = data.buf;
    501500          vk->data_size = data.len;
     
    503502          if(vk->data != NULL)
    504503          {
     504            /* XXX: The following may not make sense now in light of big data
     505             *      records.
     506             */
    505507            /* XXX: This strict checking prevents partial recovery of data
    506              *      cells.  Also, see code for regfi_parse_data and note that
     508             *      cells.  Also, see code for regfi_load_data and note that
    507509             *      lengths indicated in VK records are sometimes just plain
    508510             *      wrong.  Need a feedback mechanism to be more fuzzy with
    509511             *      data cell lengths and the ranges removed.
    510512             *
    511              *      The introduction of REGFI_BUFFER in regfi_parse_data has
     513             *      The introduction of REGFI_BUFFER in regfi_load_data has
    512514             *      fixed some of this.  Should review again with respect to
    513515             *      the other issues mentioned above though.
Note: See TracChangeset for help on using the changeset viewer.