Changeset 224174f in mainline for uspace/srv


Ignore:
Timestamp:
2013-07-11T13:16:57Z (12 years ago)
Author:
Manuele Conti <conti.ma@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2b3e8840, b2c96093
Parents:
990ab7d (diff), 3a67d63 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge mainline changes

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

Legend:

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

    r990ab7d r224174f  
    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

    r990ab7d r224174f  
    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

    r990ab7d r224174f  
    9090
    9191/* Hash table interface for open nodes hash table */
    92 
    9392typedef struct {
    9493        service_id_t service_id;
     
    192191                /* This is a V1 or V2 Minix filesystem */
    193192                magic = sb->s_magic;
    194         } else if (check_magic_number(sb3->s_magic, &native, &version, &longnames)) {
     193        } else if (check_magic_number(sb3->s_magic, &native,
     194            &version, &longnames)) {
    195195                /* This is a V3 Minix filesystem */
    196196                magic = sb3->s_magic;
     
    347347        uint32_t inum;
    348348
    349         mfsdebug("%s()\n", __FUNCTION__);
    350 
    351349        r = mfs_instance_get(service_id, &inst);
    352350        if (r != EOK)
     
    381379                ino_i->i_mode = S_IFDIR;
    382380                ino_i->i_nlinks = 1; /* This accounts for the '.' dentry */
    383         } else
     381        } else {
    384382                ino_i->i_mode = S_IFREG;
     383                ino_i->i_nlinks = 0;
     384        }
    385385
    386386        ino_i->i_uid = 0;
     
    421421        free(ino_i);
    422422out_err:
     423        mfs_free_inode(inst, inum);
    423424        return r;
    424425}
     
    431432        struct mfs_dentry_info d_info;
    432433        int r;
    433 
    434         mfsdebug("%s()\n", __FUNCTION__);
    435434
    436435        if (!S_ISDIR(ino_i->i_mode))
     
    480479        struct mfs_instance *instance;
    481480
    482         mfsdebug("%s()\n", __FUNCTION__);
    483 
    484481        rc = mfs_instance_get(service_id, &instance);
    485482        if (rc != EOK)
     
    494491        int rc = EOK;
    495492        struct mfs_node *mnode = fsnode->data;
    496 
    497         mfsdebug("%s()\n", __FUNCTION__);
    498493
    499494        fibril_mutex_lock(&open_nodes_lock);
     
    556551        int rc;
    557552
    558         mfsdebug("%s()\n", __FUNCTION__);
    559 
    560553        fibril_mutex_lock(&open_nodes_lock);
    561554
     
    570563        if (already_open) {
    571564                mnode = hash_table_get_inst(already_open, struct mfs_node, link);
     565
    572566                *rfn = mnode->fsnode;
    573567                mnode->refcnt++;
     
    651645        bool destroy_dentry = false;
    652646
    653         mfsdebug("%s()\n", __FUNCTION__);
    654 
    655647        if (str_size(name) > sbi->max_name_len)
    656648                return ENAMETOOLONG;
     
    675667                r = mfs_insert_dentry(child, "..", parent->ino_i->index);
    676668                if (r != EOK) {
     669                        mfs_remove_dentry(child, ".");
    677670                        destroy_dentry = true;
    678671                        goto exit;
     
    702695        bool has_children;
    703696        int r;
    704 
    705         mfsdebug("%s()\n", __FUNCTION__);
    706697
    707698        if (!parent)
     
    926917               
    927918                r = mfs_write_map(mnode, pos, block, &dummy);
    928                 if (r != EOK)
     919                if (r != EOK) {
     920                        mfs_free_zone(mnode->instance, block);
    929921                        goto out_err;
     922                }
    930923
    931924                flags = BLOCK_FLAGS_NOREAD;
     
    967960mfs_destroy(service_id_t service_id, fs_index_t index)
    968961{
    969         fs_node_t *fn;
     962        fs_node_t *fn = NULL;
    970963        int r;
    971964
Note: See TracChangeset for help on using the changeset viewer.