Changeset 92dd5c8 in mainline for uspace/app/mkminix/mkminix.c


Ignore:
Timestamp:
2011-03-13T20:14:29Z (14 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
245eb02d
Parents:
ccbc5b56
Message:

Read superblock and look for a corrispondent magic number, fix first data zone calculation in mkminix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/mkminix/mkminix.c

    rccbc5b56 r92dd5c8  
    5858#define UPPER(n, size)                  (((n) / (size)) + (((n) % (size)) != 0))
    5959#define NEXT_DENTRY(p, dirsize)         (p += dirsize)
    60 #define FIRST_ZONE(bs)                  ((MFS_BOOTBLOCK_SIZE + MFS_SUPERBLOCK_SIZE) / (bs))
     60#define FIRST_ZONE(bs)                  (1 + (bs) / MFS_MIN_BLOCKSIZE)
    6161#define CONVERT_1K_OFF(off, bs)         ((off) * ((bs) / MFS_MIN_BLOCKSIZE))
    6262
     
    329329
    330330        /*Convert to 1K offset*/
    331         itable_off = CONVERT_1K_OFF(itable_off, sb->block_size) + 2;
     331        itable_off = CONVERT_1K_OFF(itable_off, sb->block_size) +
     332                                        FIRST_ZONE(sb->block_size);
    332333        itable_size = CONVERT_1K_OFF(sb->itable_size, sb->block_size);
    333334
     
    392393
    393394        /*Convert to 1K block offset*/
    394         itable_off = CONVERT_1K_OFF(itable_off, sb->block_size) + 2;
     395        itable_off = CONVERT_1K_OFF(itable_off, sb->block_size) +
     396                                        FIRST_ZONE(sb->block_size);
    395397
    396398        const time_t sec = time(NULL);
     
    468470
    469471        /*Compute first data zone position*/
    470         sb->first_data_zone = FIRST_ZONE(sb->block_size) + sb->itable_size +
     472        sb->first_data_zone = 2 + sb->itable_size +
    471473                                sb->zbmap_blocks + sb->ibmap_blocks;
    472474
     
    582584        zbmap_buf8 = (uint8_t *) zbmap_buf;
    583585
    584         int start_block = 2;
     586        int start_block = FIRST_ZONE(sb->block_size);
    585587
    586588        for (i = 0; i < ibmap_nblocks; ++i) {
     
    590592        }
    591593
    592         start_block = 2 + ibmap_nblocks;
     594        start_block = FIRST_ZONE(sb->block_size) + ibmap_nblocks;
    593595
    594596        for (i = 0; i < zbmap_nblocks; ++i) {
Note: See TracChangeset for help on using the changeset viewer.