Changeset 052e82d in mainline for uspace/srv/fs/ext4fs/ext4fs_ops.c


Ignore:
Timestamp:
2011-11-07T11:50:31Z (14 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
12b4a7f
Parents:
5664cf64
Message:

partially functional truncate operation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/ext4fs/ext4fs_ops.c

    r5664cf64 r052e82d  
    939939        fs_node_t *fn;
    940940        ext4fs_node_t *enode;
    941         ext4_inode_t *inode;
     941        ext4_inode_ref_t *inode_ref;
    942942        ext4_filesystem_t* fs;
    943943        aoff64_t old_size;
     
    951951
    952952        enode = EXT4FS_NODE(fn);
    953         inode = enode->inode_ref->inode;
     953        inode_ref = enode->inode_ref;
    954954        fs = enode->instance->filesystem;
    955955
    956         old_size = ext4_inode_get_size(fs->superblock, inode);
     956        old_size = ext4_inode_get_size(fs->superblock, inode_ref->inode);
    957957
    958958        printf("old size = \%llu, new size = \%llu\n", old_size, new_size);
     
    961961                rc = EOK;
    962962        } else {
    963                 /** AAAAAAAAAAAAAAAAAAAA */
    964963
    965964                //int rc;
     
    989988                }
    990989
    991                 // TODO dirty add to inode_ref_t
    992                 //ino_i->dirty = true;
     990                inode_ref->dirty = true;
    993991
    994992                for (i = 0; i< blocks_count; ++i) {
    995993                        // TODO check retval
    996                         ext4_filesystem_release_inode_block(fs, inode, total_blocks - i);
    997                         // TODO subtract inode->size
    998                 }
    999 
    1000                 /** BBBBBBBBBBBBBBBBBBBB */
     994                        ext4_filesystem_release_inode_block(fs, inode_ref, total_blocks - i);
     995                }
     996
     997                ext4_inode_set_size(inode_ref->inode, new_size);
    1001998
    1002999        }
Note: See TracChangeset for help on using the changeset viewer.