Changeset e63ce679 in mainline for uspace/lib/ext4/libext4_filesystem.c
- Timestamp:
- 2012-03-03T20:06:31Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e8d054a
- Parents:
- 7689590
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ext4/libext4_filesystem.c
r7689590 re63ce679 33 33 /** 34 34 * @file libext4_filesystem.c 35 * @brief TODO35 * @brief More complex filesystem operations. 36 36 */ 37 37 … … 348 348 rc = block_get(&block, fs->device, fblock, BLOCK_FLAGS_NONE); 349 349 if (rc != EOK) { 350 // TODO error350 return rc; 351 351 } 352 352 … … 358 358 rc = ext4_balloc_free_block(fs, inode_ref, ind_block); 359 359 if (rc != EOK) { 360 // TODO error 360 block_put(block); 361 return rc; 361 362 } 362 363 } … … 366 367 rc = ext4_balloc_free_block(fs, inode_ref, fblock); 367 368 if (rc != EOK) { 368 // TODO error369 return rc; 369 370 } 370 371 … … 379 380 rc = block_get(&block, fs->device, fblock, BLOCK_FLAGS_NONE); 380 381 if (rc != EOK) { 381 // TODO error382 return rc; 382 383 } 383 384 … … 389 390 rc = block_get(&subblock, fs->device, ind_block, BLOCK_FLAGS_NONE); 390 391 if (rc != EOK) { 391 // TODO error 392 block_put(block); 393 return rc; 392 394 } 393 395 … … 399 401 rc = ext4_balloc_free_block(fs, inode_ref, ind_subblock); 400 402 if (rc != EOK) { 401 // TODO error 403 block_put(subblock); 404 block_put(block); 405 return rc; 402 406 } 403 407 } … … 410 414 rc = ext4_balloc_free_block(fs, inode_ref, ind_block); 411 415 if (rc != EOK) { 412 // TODO error 416 block_put(block); 417 return rc; 413 418 } 414 419 … … 419 424 rc = ext4_balloc_free_block(fs, inode_ref, fblock); 420 425 if (rc != EOK) { 421 // TODO error426 return rc; 422 427 } 423 428 … … 613 618 } 614 619 615 616 617 620 uint32_t block_size = ext4_superblock_get_block_size(fs->superblock); 618 621 … … 628 631 rc = ext4_balloc_alloc_block(fs, inode_ref, &new_block_addr); 629 632 if (rc != EOK) { 630 // TODO error 631 EXT4FS_DBG("error in allocation"); 633 return rc; 632 634 } 633 635 … … 638 640 rc = block_get(&new_block, fs->device, new_block_addr, BLOCK_FLAGS_NOREAD); 639 641 if (rc != EOK) { 640 EXT4FS_DBG("block load error");641 // TODO error642 ext4_balloc_free_block(fs, inode_ref, new_block_addr); 643 return rc; 642 644 } 643 645 … … 647 649 rc = block_put(new_block); 648 650 if (rc != EOK) { 649 EXT4FS_DBG("block put error"); 650 } 651 652 // EXT4FS_DBG("allocated indirect block for level \%u, during setting iblock \%u", level, (uint32_t)iblock); 651 return rc; 652 } 653 653 654 654 current_block = new_block_addr; … … 670 670 rc = ext4_balloc_alloc_block(fs, inode_ref, &new_block_addr); 671 671 if (rc != EOK) { 672 // TODO error673 EXT4FS_DBG("allocation error");672 block_put(block); 673 return rc; 674 674 } 675 675 676 676 rc = block_get(&new_block, fs->device, new_block_addr, BLOCK_FLAGS_NOREAD); 677 677 if (rc != EOK) { 678 // TODO error 679 680 EXT4FS_DBG("BBB: error block loading"); 681 678 block_put(block); 679 return rc; 682 680 } 681 683 682 memset(new_block->data, 0, block_size); 684 683 new_block->dirty = true; … … 686 685 rc = block_put(new_block); 687 686 if (rc != EOK) { 688 EXT4FS_DBG("BBB: error indirect block saving"); 687 block_put(block); 688 return rc; 689 689 } 690 690
Note:
See TracChangeset
for help on using the changeset viewer.