Subversion Repositories HelenOS

Rev

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

Rev 2650 Rev 2660
Line 162... Line 162...
162
 
162
 
163
    /*
163
    /*
164
     * The first call has to be IPC_M_DATA_SEND in which we receive the
164
     * The first call has to be IPC_M_DATA_SEND in which we receive the
165
     * VFS info structure from the client FS.
165
     * VFS info structure from the client FS.
166
     */
166
     */
167
    if (!ipc_data_receive(&callid, NULL, &size)) {
167
    if (!ipc_data_write_receive(&callid, NULL, &size)) {
168
        /*
168
        /*
169
         * The client doesn't obey the same protocol as we do.
169
         * The client doesn't obey the same protocol as we do.
170
         */
170
         */
171
        dprintf("Receiving of VFS info failed.\n");
171
        dprintf("Receiving of VFS info failed.\n");
172
        ipc_answer_0(callid, EINVAL);
172
        ipc_answer_0(callid, EINVAL);
Line 203... Line 203...
203
        return;
203
        return;
204
    }
204
    }
205
    link_initialize(&fs_info->fs_link);
205
    link_initialize(&fs_info->fs_link);
206
    futex_initialize(&fs_info->phone_futex, 1);
206
    futex_initialize(&fs_info->phone_futex, 1);
207
       
207
       
208
    rc = ipc_data_deliver(callid, &fs_info->vfs_info, size);
208
    rc = ipc_data_write_deliver(callid, &fs_info->vfs_info, size);
209
    if (rc != EOK) {
209
    if (rc != EOK) {
210
        dprintf("Failed to deliver the VFS info into our AS, rc=%d.\n",
210
        dprintf("Failed to deliver the VFS info into our AS, rc=%d.\n",
211
            rc);
211
            rc);
212
        free(fs_info);
212
        free(fs_info);
213
        ipc_answer_0(callid, rc);
213
        ipc_answer_0(callid, rc);