Changeset 4f9ab1e in mainline for uspace/srv/vfs/vfs_ops.c


Ignore:
Timestamp:
2017-03-18T14:25:47Z (7 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f6b6b40
Parents:
7f59d6c
Message:

vfs_node_peek() should add a reference to the node

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_ops.c

    r7f59d6c r4f9ab1e  
    618618       
    619619        /* If the node is not held by anyone, try to destroy it. */
    620         if (orig_unlinked && vfs_node_peek(&new_lr_orig) == NULL) {
    621                 out_destroy(&new_lr_orig.triplet);
     620        if (orig_unlinked) {
     621                vfs_node_t *node = vfs_node_peek(&new_lr_orig);
     622                if (!node)
     623                        out_destroy(&new_lr_orig.triplet);
     624                else
     625                        vfs_node_put(node);
    622626        }
    623627       
     
    824828                }
    825829               
    826                 vfs_node_t *found_node = vfs_node_peek(&lr);           
     830                vfs_node_t *found_node = vfs_node_peek(&lr);
     831                vfs_node_put(found_node);
    827832                if (expect->node != found_node) {
    828833                        rc = ENOENT;
     
    841846
    842847        /* If the node is not held by anyone, try to destroy it. */
    843         if (vfs_node_peek(&lr) == NULL) {
     848        vfs_node_t *node = vfs_node_peek(&lr);
     849        if (!node)
    844850                out_destroy(&lr.triplet);
    845         }
     851        else
     852                vfs_node_put(node);
    846853
    847854exit:
Note: See TracChangeset for help on using the changeset viewer.