Changeset cd1cc4e6 in mainline for uspace/srv/fs/ext4fs/ext4fs_ops.c
- Timestamp:
- 2012-01-24T16:32:32Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 02aad10
- Parents:
- 786bd56
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/ext4fs/ext4fs_ops.c
r786bd56 rcd1cc4e6 401 401 } 402 402 403 EXT4FS_DBG("allocated"); 404 403 405 enode->inode_ref = inode_ref; 404 406 enode->instance = inst; … … 424 426 *rfn = fs_node; 425 427 428 EXT4FS_DBG("finished"); 429 426 430 // TODO 427 431 return EOK; … … 431 435 int ext4fs_destroy_node(fs_node_t *fn) 432 436 { 437 EXT4FS_DBG(""); 433 438 int rc; 434 439 … … 480 485 int ext4fs_link(fs_node_t *pfn, fs_node_t *cfn, const char *name) 481 486 { 487 EXT4FS_DBG(""); 488 482 489 int rc; 483 490 … … 487 494 } 488 495 496 EXT4FS_DBG("name checked"); 497 489 498 ext4fs_node_t *parent = EXT4FS_NODE(pfn); 490 499 ext4fs_node_t *child = EXT4FS_NODE(cfn); … … 492 501 493 502 // Add entry to parent directory 494 rc = ext4_directory_add_entry(fs, parent->inode_ref, name, child->inode_ref->index); 495 if (rc != EOK) { 496 return rc; 497 } 503 rc = ext4_directory_add_entry(fs, parent->inode_ref, name, child->inode_ref); 504 if (rc != EOK) { 505 return rc; 506 } 507 508 EXT4FS_DBG("dentry added"); 498 509 499 510 // Fill new dir -> add '.' and '..' entries 500 511 if (ext4_inode_is_type(fs->superblock, child->inode_ref->inode, EXT4_INODE_MODE_DIRECTORY)) { 501 512 502 rc = ext4_directory_add_entry(fs, child->inode_ref, ".", child->inode_ref ->index);513 rc = ext4_directory_add_entry(fs, child->inode_ref, ".", child->inode_ref); 503 514 if (rc != EOK) { 504 515 ext4_directory_remove_entry(fs, parent->inode_ref, name); … … 506 517 } 507 518 508 rc = ext4_directory_add_entry(fs, child->inode_ref, "..", parent->inode_ref->index); 519 EXT4FS_DBG("added dot"); 520 521 rc = ext4_directory_add_entry(fs, child->inode_ref, "..", parent->inode_ref); 509 522 if (rc != EOK) { 510 523 ext4_directory_remove_entry(fs, parent->inode_ref, name); … … 512 525 return rc; 513 526 } 527 528 EXT4FS_DBG("added dotdot"); 514 529 515 530 uint16_t parent_links = ext4_inode_get_links_count(parent->inode_ref->inode);
Note:
See TracChangeset
for help on using the changeset viewer.