Changeset d5a78e28 in mainline for uspace/lib/ext4
- Timestamp:
- 2011-11-05T17:09:25Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3569955
- Parents:
- a9a0982
- Location:
- uspace/lib/ext4
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ext4/libext4_filesystem.c
ra9a0982 rd5a78e28 354 354 } 355 355 356 357 int ext4_filesystem_release_inode_block(ext4_filesystem_t *fs, ext4_inode_t *inode, uint32_t iblock) 358 { 359 int rc; 360 uint32_t fblock; 361 362 // TODO handle with extents 363 364 rc = ext4_filesystem_get_inode_data_block_index(fs, inode, iblock, &fblock); 365 if (rc != EOK) { 366 // TODO error 367 return rc; 368 } 369 370 // Sparse file 371 if (fblock == 0) { 372 373 // 374 return EOK; 375 } 376 377 378 // TODO vyhledat policko s ukazatelem a nastavit nulu 379 380 381 // TODO uvolnit blok v bitmape 382 383 // TODO return 384 385 386 return EOK; 387 } 388 389 356 390 /** 357 391 * @} -
uspace/lib/ext4/libext4_filesystem.h
ra9a0982 rd5a78e28 62 62 extern int ext4_filesystem_get_inode_data_block_index(ext4_filesystem_t *, 63 63 ext4_inode_t *, aoff64_t iblock, uint32_t *); 64 64 extern int ext4_filesystem_release_inode_block(ext4_filesystem_t *, 65 ext4_inode_t *, uint32_t); 65 66 #endif 66 67 -
uspace/lib/ext4/libext4_inode.c
ra9a0982 rd5a78e28 98 98 } 99 99 100 void ext4_inode_set_direct_block(ext4_inode_t *inode, uint8_t idx, uint32_t fblock) 101 { 102 assert(idx < EXT4_INODE_DIRECT_BLOCK_COUNT); 103 inode->blocks[idx] = host2uint32_t_le(fblock); 104 } 105 100 106 uint32_t ext4_inode_get_indirect_block(ext4_inode_t *inode, uint8_t idx) 101 107 { -
uspace/lib/ext4/libext4_inode.h
ra9a0982 rd5a78e28 166 166 extern uint32_t ext4_inode_get_flags(ext4_inode_t *); 167 167 168 uint32_t ext4_inode_get_direct_block(ext4_inode_t *, uint8_t); 169 uint32_t ext4_inode_get_indirect_block(ext4_inode_t *, uint8_t); 170 uint32_t ext4_inode_get_extent_block(ext4_inode_t *, uint64_t, service_id_t); 168 extern uint32_t ext4_inode_get_direct_block(ext4_inode_t *, uint8_t); 169 extern void ext4_inode_set_direct_block(ext4_inode_t *, uint8_t, uint32_t); 170 extern uint32_t ext4_inode_get_indirect_block(ext4_inode_t *, uint8_t); 171 extern uint32_t ext4_inode_get_extent_block(ext4_inode_t *, uint64_t, service_id_t); 171 172 /* 172 173 uint32_t blocks[EXT4_INODE_BLOCKS]; // Pointers to blocks
Note:
See TracChangeset
for help on using the changeset viewer.