Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset c08c355 in mainline


Ignore:
Timestamp:
2009-04-18T13:37:59Z (13 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
c259b9b
Parents:
58d7280
Message:

Make IPC_M_PING part of the VFS_MOUNT protocol again.

Location:
uspace
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libc/generic/vfs/vfs.c

    r58d7280 rc08c355  
    194194                return (int) rc;
    195195        }
     196
     197        /* Ask VFS whether it likes fs_name. */
     198        rc = async_req_0_0(vfs_phone, IPC_M_PING);
     199        if (rc != EOK) {
     200                async_wait_for(req, NULL);
     201                async_serialize_end();
     202                futex_up(&vfs_phone_futex);
     203                free(mpa);
     204                return (int) rc;
     205        }
    196206       
    197207        async_wait_for(req, &rc);
  • uspace/srv/vfs/vfs_ops.c

    r58d7280 rc08c355  
    321321        }
    322322        fs_name[size] = '\0';
    323        
     323
     324        /*
     325         * Wait for IPC_M_PING so that we can return an error if we don't know
     326         * fs_name.
     327         */
     328        ipc_call_t data;
     329        callid = async_get_call(&data);
     330        if (IPC_GET_METHOD(data) != IPC_M_PING) {
     331                ipc_answer_0(callid, ENOTSUP);
     332                ipc_answer_0(rid, ENOTSUP);
     333                free(mp);
     334                free(fs_name);
     335                return;
     336        }
     337
    324338        /*
    325339         * Check if we know a file system with the same name as is in fs_name.
     
    329343        if (!fs_handle) {
    330344                if (flags & IPC_FLAG_BLOCKING) {
     345                        pending_req_t *pr;
     346
    331347                        /* Blocking mount, add to pending list */
    332                         pending_req_t *pr = (pending_req_t *) malloc(sizeof(pending_req_t));
     348                        pr = (pending_req_t *) malloc(sizeof(pending_req_t));
    333349                        if (!pr) {
    334350                                ipc_answer_0(callid, ENOMEM);
Note: See TracChangeset for help on using the changeset viewer.