Subversion Repositories HelenOS

Rev

Rev 2527 | Rev 2532 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2527 Rev 2531
Line 121... Line 121...
121
 
121
 
122
    /*
122
    /*
123
     * The first call has to be IPC_M_DATA_SEND in which we receive the
123
     * The first call has to be IPC_M_DATA_SEND in which we receive the
124
     * VFS info structure from the client FS.
124
     * VFS info structure from the client FS.
125
     */
125
     */
126
    if (!ipc_data_send_accept(&callid, &call, NULL, &size)) {
126
    if (!ipc_data_receive(&callid, &call, NULL, &size)) {
127
        /*
127
        /*
128
         * The client doesn't obey the same protocol as we do.
128
         * The client doesn't obey the same protocol as we do.
129
         */
129
         */
130
        ipc_answer_fast(callid, EINVAL, 0, 0);
130
        ipc_answer_fast(callid, EINVAL, 0, 0);
131
        ipc_answer_fast(rid, EINVAL, 0, 0);
131
        ipc_answer_fast(rid, EINVAL, 0, 0);
Line 156... Line 156...
156
        ipc_answer_fast(rid, ENOMEM, 0, 0);
156
        ipc_answer_fast(rid, ENOMEM, 0, 0);
157
        return;
157
        return;
158
    }
158
    }
159
    link_initialize(&fs_info->fs_link);
159
    link_initialize(&fs_info->fs_link);
160
       
160
       
161
    rc = ipc_data_send_answer(callid, &call, &fs_info->vfs_info, size);
161
    rc = ipc_data_deliver(callid, &call, &fs_info->vfs_info, size);
162
    if (!rc) {
162
    if (!rc) {
163
        free(fs_info);
163
        free(fs_info);
164
        ipc_answer_fast(callid, rc, 0, 0);
164
        ipc_answer_fast(callid, rc, 0, 0);
165
        ipc_answer_fast(rid, rc, 0, 0);
165
        ipc_answer_fast(rid, rc, 0, 0);
166
        return;
166
        return;