Changes in uspace/srv/fs/mfs/mfs_ops.c [1ba6651:4e00f87] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/mfs/mfs_ops.c
r1ba6651 r4e00f87 88 88 89 89 /* Hash table interface for open nodes hash table */ 90 90 91 typedef struct { 91 92 service_id_t service_id; … … 189 190 /* This is a V1 or V2 Minix filesystem */ 190 191 magic = sb->s_magic; 191 } else if (check_magic_number(sb3->s_magic, &native, 192 &version, &longnames)) { 192 } else if (check_magic_number(sb3->s_magic, &native, &version, &longnames)) { 193 193 /* This is a V3 Minix filesystem */ 194 194 magic = sb3->s_magic; … … 345 345 uint32_t inum; 346 346 347 mfsdebug("%s()\n", __FUNCTION__); 348 347 349 r = mfs_instance_get(service_id, &inst); 348 350 if (r != EOK) … … 377 379 ino_i->i_mode = S_IFDIR; 378 380 ino_i->i_nlinks = 1; /* This accounts for the '.' dentry */ 379 } else {381 } else 380 382 ino_i->i_mode = S_IFREG; 381 ino_i->i_nlinks = 0;382 }383 383 384 384 ino_i->i_uid = 0; … … 419 419 free(ino_i); 420 420 out_err: 421 mfs_free_inode(inst, inum);422 421 return r; 423 422 } … … 430 429 struct mfs_dentry_info d_info; 431 430 int r; 431 432 mfsdebug("%s()\n", __FUNCTION__); 432 433 433 434 if (!S_ISDIR(ino_i->i_mode)) … … 451 452 452 453 if (comp_size == dentry_name_size && 453 memcmp(component, d_info.d_name, dentry_name_size) == 0) {454 !bcmp(component, d_info.d_name, dentry_name_size)) { 454 455 /* Hit! */ 455 456 mfs_node_core_get(rfn, mnode->instance, … … 477 478 struct mfs_instance *instance; 478 479 480 mfsdebug("%s()\n", __FUNCTION__); 481 479 482 rc = mfs_instance_get(service_id, &instance); 480 483 if (rc != EOK) … … 489 492 int rc = EOK; 490 493 struct mfs_node *mnode = fsnode->data; 494 495 mfsdebug("%s()\n", __FUNCTION__); 491 496 492 497 fibril_mutex_lock(&open_nodes_lock); … … 549 554 int rc; 550 555 556 mfsdebug("%s()\n", __FUNCTION__); 557 551 558 fibril_mutex_lock(&open_nodes_lock); 552 559 … … 561 568 if (already_open) { 562 569 mnode = hash_table_get_inst(already_open, struct mfs_node, link); 563 564 570 *rfn = mnode->fsnode; 565 571 mnode->refcnt++; … … 642 648 struct mfs_sb_info *sbi = parent->instance->sbi; 643 649 bool destroy_dentry = false; 650 651 mfsdebug("%s()\n", __FUNCTION__); 644 652 645 653 if (str_size(name) > sbi->max_name_len) … … 665 673 r = mfs_insert_dentry(child, "..", parent->ino_i->index); 666 674 if (r != EOK) { 667 mfs_remove_dentry(child, ".");668 675 destroy_dentry = true; 669 676 goto exit; … … 694 701 int r; 695 702 703 mfsdebug("%s()\n", __FUNCTION__); 704 696 705 if (!parent) 697 706 return EBUSY; … … 764 773 { 765 774 int rc; 766 fs_node_t *fn = NULL;775 fs_node_t *fn; 767 776 768 777 rc = mfs_node_get(&fn, service_id, index); … … 915 924 916 925 r = mfs_write_map(mnode, pos, block, &dummy); 917 if (r != EOK) { 918 mfs_free_zone(mnode->instance, block); 926 if (r != EOK) 919 927 goto out_err; 920 }921 928 922 929 flags = BLOCK_FLAGS_NOREAD; … … 958 965 mfs_destroy(service_id_t service_id, fs_index_t index) 959 966 { 960 fs_node_t *fn = NULL;967 fs_node_t *fn; 961 968 int r; 962 969 … … 1101 1108 mfs_sync(service_id_t service_id, fs_index_t index) 1102 1109 { 1103 fs_node_t *fn = NULL;1110 fs_node_t *fn; 1104 1111 int rc = mfs_node_get(&fn, service_id, index); 1105 1112 if (rc != EOK)
Note:
See TracChangeset
for help on using the changeset viewer.