Changeset 155f792 in mainline for uspace/srv/fs/minixfs/mfs_ops.c


Ignore:
Timestamp:
2011-03-20T11:30:25Z (14 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6adba0a8
Parents:
930baca
Message:

Use a generic minixfs inode in core to avoid code duplication

File:
1 edited

Legend:

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

    r930baca r155f792  
    212212aoff64_t mfs_size_get(fs_node_t *node)
    213213{
    214         aoff64_t size;
    215 
    216214        mfsdebug("request for inode size\n");
    217215        assert(node);
     
    219217        const struct mfs_node *mnode = node->data;
    220218        assert(mnode);
    221 
    222         const struct mfs_instance *inst = mnode->instance;
    223         assert(inst);
    224 
    225         const struct mfs_sb_info *sbi = inst->sbi;
    226         assert(sbi);
    227 
    228         if (sbi->fs_version == MFS_VERSION_V1) {
    229                 struct mfs_inode *ino;
    230                 ino = mnode->ino;
    231                 size = ino->i_size;
    232         } else {
    233                 struct mfs2_inode *ino2;
    234                 ino2 = mnode->ino2;
    235                 size = ino2->i_size;
    236         }
    237 
    238         return size;
     219        assert(mnode->ino_i);
     220
     221        return mnode->ino_i->i_size;
    239222}
    240223
     
    282265        }
    283266
     267        struct mfs_ino_info *ino_i;
     268
    284269        if (sbi->fs_version == MFS_VERSION_V1) {
    285270                /*Read MFS V1 inode*/
    286                 struct mfs_inode *ino;
    287 
    288                 ino = mfs_read_inode_raw(inst, index);
    289                 mnode->ino = ino;
     271                ino_i = mfs_read_inode_raw(inst, index);
    290272        } else {
    291273                /*Read MFS V2/V3 inode*/
    292                 struct mfs2_inode *ino2;
    293 
    294                 ino2 = mfs2_read_inode_raw(inst, index);
    295                 mnode->ino2 = ino2;
    296         }
     274                ino_i = mfs2_read_inode_raw(inst, index);
     275        }
     276
     277        if (!ino_i)
     278                return -1;
     279
     280        mnode->ino_i = ino_i;
    297281
    298282        mnode->instance = inst;
     
    313297{
    314298        const struct mfs_node *node = fsnode->data;
    315         const struct mfs_sb_info *sbi = node->instance->sbi;
    316 
    317         if (sbi->fs_version == MFS_VERSION_V1)
    318                 return S_ISDIR(node->ino->i_mode);
    319         else
    320                 return S_ISDIR(node->ino2->i_mode);
     299        return S_ISDIR(node->ino_i->i_mode);
    321300}
    322301
     
    324303{
    325304        struct mfs_node *node = fsnode->data;
    326         struct mfs_sb_info *sbi = node->instance->sbi;
    327 
    328         if (sbi->fs_version == MFS_VERSION_V1)
    329                 return S_ISREG(node->ino->i_mode);
    330         else
    331                 return S_ISREG(node->ino2->i_mode);
     305        return S_ISREG(node->ino_i->i_mode);
    332306}
    333307
Note: See TracChangeset for help on using the changeset viewer.