Changes in / [5da7199:3781092] in mainline


Ignore:
Location:
uspace
Files:
10 added
5 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/mfs/mfs.h

    r5da7199 r3781092  
    159159
    160160extern int
    161 mfs_put_inode_core(struct mfs_node *mnode);
     161mfs_put_inode(struct mfs_node *mnode);
    162162
    163163extern int
  • uspace/srv/fs/mfs/mfs_dentry.c

    r5da7199 r3781092  
    7676                d_info->d_inum = conv32(sbi->native, d3->d_inum);
    7777                memcpy(d_info->d_name, d3->d_name, MFS3_MAX_NAME_LEN);
     78                d_info->d_name[MFS3_MAX_NAME_LEN] = 0;
    7879        } else {
    7980                const int namelen = longnames ? MFS_L_MAX_NAME_LEN :
     
    8687                d_info->d_inum = conv16(sbi->native, d->d_inum);
    8788                memcpy(d_info->d_name, d->d_name, namelen);
     89                d_info->d_name[namelen] = 0;
    8890        }
    8991
     
    249251        d_info.d_inum = d_inum;
    250252        memcpy(d_info.d_name, d_name, name_len);
    251         d_info.d_name[name_len] = 0;
     253        if (name_len < sbi->max_name_len)
     254                d_info.d_name[name_len] = 0;
    252255
    253256        r = mfs_write_dentry(&d_info);
  • uspace/srv/fs/mfs/mfs_inode.c

    r5da7199 r3781092  
    4848                struct mfs_ino_info **ino_ptr, uint32_t inum);
    4949
    50 
     50/**Read a MINIX inode from disk
     51 *
     52 * @param inst          Pointer to the filesystem instance.
     53 * @param ino_i         Pointer to the generic MINIX inode
     54 *                      where the inode content will be stored.
     55 * @param index         index of the inode to read.
     56 *
     57 * @return              EOK on success or a negative error code.
     58 */
    5159int
    5260mfs_get_inode(struct mfs_instance *inst, struct mfs_ino_info **ino_i,
     
    185193}
    186194
     195/**Write a MINIX inode on disk (if marked as dirty)
     196 *
     197 * @param mnode         Pointer to the generic MINIX inode in memory.
     198 *
     199 * @return              EOK on success or a negative error code.
     200 */
    187201int
    188 mfs_put_inode_core(struct mfs_node *mnode)
     202mfs_put_inode(struct mfs_node *mnode)
    189203{
    190204        int rc = EOK;
     
    299313}
    300314
     315/**Reduce the inode size of a given number of bytes
     316 *
     317 * @param mnode         Pointer to the generic MINIX inode in memory.
     318 * @param size_shrink   Number of bytes that will be subtracted to the inode.
     319 *
     320 * @return              EOK on success or a negative error code.
     321 */
    301322int
    302323mfs_inode_shrink(struct mfs_node *mnode, size_t size_shrink)
  • uspace/srv/fs/mfs/mfs_ops.c

    r5da7199 r3781092  
    513513                assert(mnode->instance->open_nodes_cnt > 0);
    514514                mnode->instance->open_nodes_cnt--;
    515                 rc = mfs_put_inode_core(mnode);
     515                rc = mfs_put_inode(mnode);
    516516                free(mnode->ino_i);
    517517                free(mnode);
  • uspace/srv/fs/mfs/mfs_rw.c

    r5da7199 r3781092  
    5353 *bytes, this function returns the on-disk block
    5454 *relative to that position.
    55  *Returns zero if the block does not exist.
     55 *
     56 * @param b     Pointer to a 32bit number where the block number will be stored
     57 * @param mnode Pointer to a generic MINIX inode in memory.
     58 * @param pos   Position in file.
     59 *
     60 * @return      EOK on success or a negative error code.
    5661 */
    5762int
     
    227232}
    228233
    229 /*Free unused indirect zones*/
     234/**Free unused indirect zones from a MINIX inode according to it's new size.
     235 *
     236 * @param mnode         Pointer to a generic MINIX inode in memory.
     237 * @param new_size      The new size of the inode.
     238 *
     239 * @return              EOK on success or a negative error code.
     240 */
    230241int
    231242mfs_prune_ind_zones(struct mfs_node *mnode, size_t new_size)
     
    239250        mfs_version_t fs_version = sbi->fs_version;
    240251       
     252        assert(new_size <= ino_i->i_size);
     253
    241254        if (fs_version == MFS_VERSION_V1) {
    242255                nr_direct = V1_NR_DIRECT_ZONES;
Note: See TracChangeset for help on using the changeset viewer.