Changes in uspace/lib/fs/libfs.c [5930e3f:2d884ab] in mainline


Ignore:
File:
1 edited

Legend:

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

    r5930e3f r2d884ab  
    4545#include <mem.h>
    4646#include <sys/stat.h>
    47 #include <sys/statfs.h>
    4847#include <stdlib.h>
    4948
     
    7574static void libfs_open_node(libfs_ops_t *, fs_handle_t, ipc_callid_t,
    7675    ipc_call_t *);
    77 static void libfs_statfs(libfs_ops_t *, fs_handle_t, ipc_callid_t, ipc_call_t *);
    7876
    7977static void vfs_out_mounted(ipc_callid_t rid, ipc_call_t *req)
     
    221219}
    222220
    223 static void vfs_out_statfs(ipc_callid_t rid, ipc_call_t *req)
    224 {
    225         libfs_statfs(libfs_ops, reg.fs_handle, rid, req);
    226 }
    227221static void vfs_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    228222{
     
    282276                case VFS_OUT_SYNC:
    283277                        vfs_out_sync(callid, &call);
    284                         break;
    285                 case VFS_OUT_STATFS:
    286                         vfs_out_statfs(callid, &call);
    287278                        break;
    288279                default:
     
    839830}
    840831
    841 void libfs_statfs(libfs_ops_t *ops, fs_handle_t fs_handle, ipc_callid_t rid,
    842     ipc_call_t *request)
    843 {
    844         service_id_t service_id = (service_id_t) IPC_GET_ARG1(*request);
    845         fs_index_t index = (fs_index_t) IPC_GET_ARG2(*request);
    846        
    847         fs_node_t *fn;
    848         int rc = ops->node_get(&fn, service_id, index);
    849         on_error(rc, answer_and_return(rid, rc));
    850        
    851         ipc_callid_t callid;
    852         size_t size;
    853         if ((!async_data_read_receive(&callid, &size)) ||
    854             (size != sizeof(struct statfs))) {
    855                 ops->node_put(fn);
    856                 async_answer_0(callid, EINVAL);
    857                 async_answer_0(rid, EINVAL);
    858                 return;
    859         }
    860        
    861         struct statfs statfs;
    862         memset(&statfs, 0, sizeof(struct statfs));
    863 
    864         if (NULL != ops->size_block)   
    865                 statfs.f_bsize = ops->size_block(service_id);
    866        
    867         ops->node_put(fn);
    868        
    869         async_data_read_finalize(callid, &statfs, sizeof(struct statfs));
    870         async_answer_0(rid, EOK);
    871 }
    872 
    873 
    874832/** Open VFS triplet.
    875833 *
Note: See TracChangeset for help on using the changeset viewer.