Changeset d2c8533 in mainline for uspace/lib/fs/libfs.c


Ignore:
Timestamp:
2017-05-08T20:38:47Z (7 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f066a87
Parents:
582a0b8
Message:

File system probing groundwork. Only MFS can do it for now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/fs/libfs.c

    r582a0b8 rd2c8533  
    8181    ipc_call_t *);
    8282
     83static void vfs_out_fsprobe(ipc_callid_t rid, ipc_call_t *req)
     84{
     85        service_id_t service_id = (service_id_t) IPC_GET_ARG1(*req);
     86        int rc;
     87        vfs_fs_probe_info_t info;
     88       
     89        ipc_callid_t callid;
     90        size_t size;
     91        if ((!async_data_read_receive(&callid, &size)) ||
     92            (size != sizeof(info))) {
     93                async_answer_0(callid, EIO);
     94                async_answer_0(rid, EIO);
     95                return;
     96        }
     97       
     98        memset(&info, 0, sizeof(info));
     99        rc = vfs_out_ops->fsprobe(service_id, &info);
     100        if (rc != EOK) {
     101                async_answer_0(callid, EIO);
     102                async_answer_0(rid, rc);
     103                return;
     104        }
     105       
     106        async_data_read_finalize(callid, &info, sizeof(info));
     107        async_answer_0(rid, EOK);
     108}
     109
    83110static void vfs_out_mounted(ipc_callid_t rid, ipc_call_t *req)
    84111{
     
    272299               
    273300                switch (IPC_GET_IMETHOD(call)) {
     301                case VFS_OUT_FSPROBE:
     302                        vfs_out_fsprobe(callid, &call);
     303                        break;
    274304                case VFS_OUT_MOUNTED:
    275305                        vfs_out_mounted(callid, &call);
Note: See TracChangeset for help on using the changeset viewer.