Changeset 35b7d86e in mainline for uspace/lib/c


Ignore:
Timestamp:
2017-03-13T20:33:06Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8ffedd8
Parents:
ea56098
Message:

Remove VFS_IN_MTAB_GET

The mountpoints in VFS don't know their path anymore and it does not
make much sense to maintain this global mount table when tasks can have
different roots.

Location:
uspace/lib/c
Files:
3 edited

Legend:

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

    rea56098 r35b7d86e  
    11061106int vfs_get_mtab_list(list_t *mtab_list)
    11071107{
    1108         sysarg_t rc;
    1109         aid_t req;
    1110         size_t i;
    1111         sysarg_t num_mounted_fs;
    1112        
    1113         async_exch_t *exch = vfs_exchange_begin();
    1114 
    1115         req = async_send_0(exch, VFS_IN_MTAB_GET, NULL);
    1116 
    1117         /* Ask VFS how many filesystems are mounted */
    1118         rc = async_req_0_1(exch, VFS_IN_PING, &num_mounted_fs);
    1119         if (rc != EOK)
    1120                 goto exit;
    1121 
    1122         for (i = 0; i < num_mounted_fs; ++i) {
    1123                 mtab_ent_t *mtab_ent;
    1124 
    1125                 mtab_ent = malloc(sizeof(mtab_ent_t));
    1126                 if (mtab_ent == NULL) {
    1127                         rc = ENOMEM;
    1128                         goto exit;
    1129                 }
    1130 
    1131                 memset(mtab_ent, 0, sizeof(mtab_ent_t));
    1132 
    1133                 rc = async_data_read_start(exch, (void *) mtab_ent->mp,
    1134                     MAX_PATH_LEN);
    1135                 if (rc != EOK)
    1136                         goto exit;
    1137 
    1138                 rc = async_data_read_start(exch, (void *) mtab_ent->opts,
    1139                         MAX_MNTOPTS_LEN);
    1140                 if (rc != EOK)
    1141                         goto exit;
    1142 
    1143                 rc = async_data_read_start(exch, (void *) mtab_ent->fs_name,
    1144                         FS_NAME_MAXLEN);
    1145                 if (rc != EOK)
    1146                         goto exit;
    1147 
    1148                 sysarg_t p[2];
    1149 
    1150                 rc = async_req_0_2(exch, VFS_IN_PING, &p[0], &p[1]);
    1151                 if (rc != EOK)
    1152                         goto exit;
    1153 
    1154                 mtab_ent->instance = p[0];
    1155                 mtab_ent->service_id = p[1];
    1156 
    1157                 link_initialize(&mtab_ent->link);
    1158                 list_append(&mtab_ent->link, mtab_list);
    1159         }
    1160 
    1161 exit:
    1162         async_wait_for(req, &rc);
    1163         vfs_exchange_end(exch);
     1108        sysarg_t rc = ENOTSUP;
     1109       
    11641110        return rc;
    11651111}
  • uspace/lib/c/include/ipc/vfs.h

    rea56098 r35b7d86e  
    6969        VFS_IN_FSTAT,
    7070        VFS_IN_CLOSE,
    71         VFS_IN_PING,
    7271        VFS_IN_MOUNT,
    7372        VFS_IN_UNMOUNT,
     
    7877        VFS_IN_DUP,
    7978        VFS_IN_WAIT_HANDLE,
    80         VFS_IN_MTAB_GET,
    8179        VFS_IN_STATFS,
    8280        VFS_IN_WALK,
  • uspace/lib/c/include/vfs/vfs.h

    rea56098 r35b7d86e  
    4242#include <stdio.h>
    4343#include <async.h>
    44 #include "vfs_mtab.h"
    45 
    4644
    4745enum vfs_change_state_type {
    4846        VFS_PASS_HANDLE
    4947};
    50 
    5148
    5249extern char *vfs_absolutize(const char *, size_t *);
Note: See TracChangeset for help on using the changeset viewer.