Changeset 245eb02d in mainline


Ignore:
Timestamp:
2011-03-15T17:47:26Z (13 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f66d903
Parents:
92dd5c8
Message:

Check for V3 magic number when a mount is performed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/minixfs/mfs_super.c

    r92dd5c8 r245eb02d  
    4949        enum cache_mode cmode; 
    5050        struct mfs_superblock *sp;
     51        struct mfs3_superblock *sp3;
    5152        bool native, longnames;
    5253        mfs_version_t version;
     54        uint16_t magic;
    5355
    5456        /* Accept the mount options */
     
    7880        }
    7981
    80         sp = malloc(MFS_SUPERBLOCK_SIZE);
     82        sp = (struct mfs_superblock *) malloc(MFS_SUPERBLOCK_SIZE);
    8183
    8284        /* Read the superblock */
     
    8890        }
    8991
    90         if (!check_magic_number(sp->s_magic, &native, &version, &longnames)) {
    91                 /*Magic number is invalid!*/
     92        if (check_magic_number(sp->s_magic, &native, &version, &longnames)) {
     93                magic = sp->s_magic;
     94                goto recognized;
     95        }
     96
     97        sp3 = (struct mfs3_superblock *) sp;
     98
     99        if (!check_magic_number(sp3->s_magic, &native, &version, &longnames)) {
    92100                mfsdebug("magic number not recognized\n");
    93101                block_fini(devmap_handle);
     
    96104        }
    97105
    98         mfsdebug("magic number recognized\n");
     106        magic = sp3->s_magic;
     107
     108recognized:
     109
     110        mfsdebug("magic number recognized = %04x\n", magic);
    99111        free(sp);
    100112}
     
    104116{
    105117        *longfilenames = false;
    106 
    107         mfsdebug("magic = %d\n", magic);
    108118
    109119        if (magic == MFS_MAGIC_V1 || magic == MFS_MAGIC_V1R) {
Note: See TracChangeset for help on using the changeset viewer.