Changeset eb27ce5a in mainline for uspace/srv/vfs/vfs_node.c


Ignore:
Timestamp:
2008-01-09T19:50:40Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4fb6bf36
Parents:
cad9c72
Message:

Improve the API for converting (VFS triplets, size) to VFS nodes by introducing
a new type for results of vfs_lookup_internal().

File:
1 edited

Legend:

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

    rcad9c72 reb27ce5a  
    11/*
    2  * Copyright (c) 2007 Jakub Jermar
     2 * Copyright (c) 2008 Jakub Jermar
    33 * All rights reserved.
    44 *
     
    122122 * vfs_node_put() on it.
    123123 *
    124  * @param triplet       Triplet encoding the identity of the VFS node.
    125  * @param size          Size of the node as filled by vfs_lookup_internal().
     124 * @param result        Populated lookup result structure.
    126125 *
    127126 * @return              VFS node corresponding to the given triplet.
    128127 */
    129 vfs_node_t *vfs_node_get(vfs_triplet_t *triplet, size_t size)
     128vfs_node_t *vfs_node_get(vfs_lookup_res_t *result)
    130129{
    131130        unsigned long key[] = {
    132                 [KEY_FS_HANDLE] = triplet->fs_handle,
    133                 [KEY_DEV_HANDLE] = triplet->dev_handle,
    134                 [KEY_INDEX] = triplet->index
     131                [KEY_FS_HANDLE] = result->triplet.fs_handle,
     132                [KEY_DEV_HANDLE] = result->triplet.dev_handle,
     133                [KEY_INDEX] = result->triplet.index
    135134        };
    136135        link_t *tmp;
     
    146145                }
    147146                memset(node, 0, sizeof(vfs_node_t));
    148                 node->fs_handle = triplet->fs_handle;
    149                 node->dev_handle = triplet->fs_handle;
    150                 node->index = triplet->index;
    151                 node->size = size;
     147                node->fs_handle = result->triplet.fs_handle;
     148                node->dev_handle = result->triplet.fs_handle;
     149                node->index = result->triplet.index;
     150                node->size = result->size;
    152151                link_initialize(&node->nh_link);
    153152                rwlock_initialize(&node->contents_rwlock);
     
    157156        }
    158157
    159         assert(node->size == size);
     158        assert(node->size == result->size);
    160159
    161160        _vfs_node_addref(node);
Note: See TracChangeset for help on using the changeset viewer.