Changes in / [c8bb1633:3908355] in mainline


Ignore:
Location:
uspace/srv/fs/mfs
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/mfs/mfs_balloc.c

    rc8bb1633 r3908355  
    128128                start_block = 2 + sbi->ibmap_blocks;
    129129                if (idx > sbi->nzones) {
    130                         printf(NAME ": Error! Trying to free beyond the" \
     130                        printf(NAME ": Error! Trying to free beyond the "
    131131                            "bitmap max size\n");
    132132                        return -1;
     
    137137                start_block = 2;
    138138                if (idx > sbi->ninodes) {
    139                         printf(NAME ": Error! Trying to free beyond the" \
     139                        printf(NAME ": Error! Trying to free beyond the "
    140140                            "bitmap max size\n");
    141141                        return -1;
     
    202202                start_block = 2;
    203203                nblocks = sbi->ibmap_blocks;
    204                 limit = sbi->ninodes;
     204                limit = sbi->ninodes - 1;
    205205        }
    206206        bits_per_block = sbi->block_size * 8;
  • uspace/srv/fs/mfs/mfs_dentry.c

    rc8bb1633 r3908355  
    3636 *
    3737 * @param mnode         Pointer to the directory node.
    38  * @param d_info        Pointer to a directory entry structure where the dentry info
    39  *                      will be stored.
     38 * @param d_info        Pointer to a directory entry structure where
     39 *                      the dentry info will be stored.
    4040 * @param index         index of the dentry in the list.
    4141 *
     
    101101/**Write a directory entry on disk.
    102102 *
    103  * @param d_info Pointer to the directory entry structure to write on disk.
     103 * @param d_info The directory entry to write to disk.
    104104 *
    105105 * @return       EOK on success or a negative error code.
     
    240240                                goto out;
    241241                        r = mfs_write_map(mnode, pos, b, &dummy);
    242                         if (r != EOK)
     242                        if (r != EOK) {
     243                                mfs_free_zone(mnode->instance, b);
    243244                                goto out;
     245                        }
    244246                }
    245247
  • uspace/srv/fs/mfs/mfs_ops.c

    rc8bb1633 r3908355  
    8888
    8989/* Hash table interface for open nodes hash table */
    90 
    9190typedef struct {
    9291        service_id_t service_id;
     
    190189                /* This is a V1 or V2 Minix filesystem */
    191190                magic = sb->s_magic;
    192         } else if (check_magic_number(sb3->s_magic, &native, &version, &longnames)) {
     191        } else if (check_magic_number(sb3->s_magic, &native,
     192            &version, &longnames)) {
    193193                /* This is a V3 Minix filesystem */
    194194                magic = sb3->s_magic;
     
    345345        uint32_t inum;
    346346
    347         mfsdebug("%s()\n", __FUNCTION__);
    348 
    349347        r = mfs_instance_get(service_id, &inst);
    350348        if (r != EOK)
     
    379377                ino_i->i_mode = S_IFDIR;
    380378                ino_i->i_nlinks = 1; /* This accounts for the '.' dentry */
    381         } else
     379        } else {
    382380                ino_i->i_mode = S_IFREG;
     381                ino_i->i_nlinks = 0;
     382        }
    383383
    384384        ino_i->i_uid = 0;
     
    419419        free(ino_i);
    420420out_err:
     421        mfs_free_inode(inst, inum);
    421422        return r;
    422423}
     
    429430        struct mfs_dentry_info d_info;
    430431        int r;
    431 
    432         mfsdebug("%s()\n", __FUNCTION__);
    433432
    434433        if (!S_ISDIR(ino_i->i_mode))
     
    478477        struct mfs_instance *instance;
    479478
    480         mfsdebug("%s()\n", __FUNCTION__);
    481 
    482479        rc = mfs_instance_get(service_id, &instance);
    483480        if (rc != EOK)
     
    492489        int rc = EOK;
    493490        struct mfs_node *mnode = fsnode->data;
    494 
    495         mfsdebug("%s()\n", __FUNCTION__);
    496491
    497492        fibril_mutex_lock(&open_nodes_lock);
     
    554549        int rc;
    555550
    556         mfsdebug("%s()\n", __FUNCTION__);
    557 
    558551        fibril_mutex_lock(&open_nodes_lock);
    559552
     
    568561        if (already_open) {
    569562                mnode = hash_table_get_inst(already_open, struct mfs_node, link);
     563
    570564                *rfn = mnode->fsnode;
    571565                mnode->refcnt++;
     
    649643        bool destroy_dentry = false;
    650644
    651         mfsdebug("%s()\n", __FUNCTION__);
    652 
    653645        if (str_size(name) > sbi->max_name_len)
    654646                return ENAMETOOLONG;
     
    673665                r = mfs_insert_dentry(child, "..", parent->ino_i->index);
    674666                if (r != EOK) {
     667                        mfs_remove_dentry(child, ".");
    675668                        destroy_dentry = true;
    676669                        goto exit;
     
    700693        bool has_children;
    701694        int r;
    702 
    703         mfsdebug("%s()\n", __FUNCTION__);
    704695
    705696        if (!parent)
     
    924915               
    925916                r = mfs_write_map(mnode, pos, block, &dummy);
    926                 if (r != EOK)
     917                if (r != EOK) {
     918                        mfs_free_zone(mnode->instance, block);
    927919                        goto out_err;
     920                }
    928921
    929922                flags = BLOCK_FLAGS_NOREAD;
     
    965958mfs_destroy(service_id_t service_id, fs_index_t index)
    966959{
    967         fs_node_t *fn;
     960        fs_node_t *fn = NULL;
    968961        int r;
    969962
Note: See TracChangeset for help on using the changeset viewer.