Changeset 0d35511 in mainline for uspace/srv/vfs/vfs.c


Ignore:
Timestamp:
2017-03-08T18:27:40Z (7 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4809715
Parents:
5126f80
git-author:
Jiri Zarevucky <zarevucky.jiri@…> (2017-03-08 18:27:40)
git-committer:
Jakub Jermar <jakub@…> (2017-03-08 18:27:40)
Message:

Merge from lp:~zarevucky-jiri/helenos/vfs-2.5/ revisions 1948-1965

Original commit messages:

1965: Jiri Zarevucky 2013-08-07 Split vfs_walk().
1964: Jiri Zarevucky 2013-08-07 Split vfs_wait_handle().
1963: Jiri Zarevucky 2013-08-07 Split vfs_unmount().
1962: Jiri Zarevucky 2013-08-07 Split vfs_unlink2().
1961: Jiri Zarevucky 2013-08-07 Split vfs_truncate().
1960: Jiri Zarevucky 2013-08-07 Split vfs_sync().
1959: Jiri Zarevucky 2013-08-07 Split vfs_seek().
1958: Jiri Zarevucky 2013-08-07 Split vfs_rename().
1957: Jiri Zarevucky 2013-08-07 Split vfs_read() and vfs_write().
1956: Jiri Zarevucky 2013-08-07 Split vfs_open2().
1955: Jiri Zarevucky 2013-08-07 Split vfs_mtab_get().
1954: Jiri Zarevucky 2013-08-07 Split fstat().
1953: Jiri Zarevucky 2013-08-07 Split vfs_dup().
1952: Jiri Zarevucky 2013-08-07 Split vfs_in_dname().
1951: Jiri Zarevucky 2013-08-07 Split vfs_close().
1950: Jiri Zarevucky 2013-08-07 Split vfs_clone().
1949: Jiri Zarevucky 2013-08-07 Order IPC calls lexicographically.
1948: Jiri Zarevucky 2013-08-07 Start splitting off the IPC boilerplate parts. vfs_mount().

Modifications:

  • Removed debug name changes
  • Split vfs_statfs
  • vfs_in_*() call vfs_op_*() according to future changes in the branch
  • Keep the common code for handling read/write
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs.c

    r5126f80 r0d35511  
    7474                }
    7575        }
    76 }
    77 
    78 static void vfs_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg)
    79 {
    80         bool cont = true;
    81        
    82         /*
    83          * The connection was opened via the IPC_CONNECT_ME_TO call.
    84          * This call needs to be answered.
    85          */
    86         async_answer_0(iid, EOK);
    87        
    88         while (cont) {
    89                 ipc_call_t call;
    90                 ipc_callid_t callid = async_get_call(&call);
    91                
    92                 if (!IPC_GET_IMETHOD(call))
    93                         break;
    94                
    95                 switch (IPC_GET_IMETHOD(call)) {
    96                 case VFS_IN_REGISTER:
    97                         vfs_register(callid, &call);
    98                         cont = false;
    99                         break;
    100                 case VFS_IN_MOUNT:
    101                         vfs_mount_srv(callid, &call);
    102                         break;
    103                 case VFS_IN_UNMOUNT:
    104                         vfs_unmount_srv(callid, &call);
    105                         break;
    106                 case VFS_IN_WALK:
    107                         vfs_walk(callid, &call);
    108                         break;
    109                 case VFS_IN_OPEN2:
    110                         vfs_open2(callid, &call);
    111                         break;
    112                 case VFS_IN_CLOSE:
    113                         vfs_close(callid, &call);
    114                         break;
    115                 case VFS_IN_READ:
    116                         vfs_read(callid, &call);
    117                         break;
    118                 case VFS_IN_WRITE:
    119                         vfs_write(callid, &call);
    120                         break;
    121                 case VFS_IN_SEEK:
    122                         vfs_seek(callid, &call);
    123                         break;
    124                 case VFS_IN_TRUNCATE:
    125                         vfs_truncate(callid, &call);
    126                         break;
    127                 case VFS_IN_FSTAT:
    128                         vfs_fstat(callid, &call);
    129                         break;
    130                 case VFS_IN_UNLINK2:
    131                         vfs_unlink2(callid, &call);
    132                         break;
    133                 case VFS_IN_RENAME:
    134                         vfs_rename(callid, &call);
    135                         break;
    136                 case VFS_IN_SYNC:
    137                         vfs_sync(callid, &call);
    138                         break;
    139                 case VFS_IN_DUP:
    140                         vfs_dup(callid, &call);
    141                         break;
    142                 case VFS_IN_WAIT_HANDLE:
    143                         vfs_wait_handle(callid, &call);
    144                         break;
    145                 case VFS_IN_MTAB_GET:
    146                         vfs_get_mtab(callid, &call);
    147                         break;
    148                 case VFS_IN_STATFS:
    149                         vfs_statfs(callid, &call);
    150                         break;
    151                 case VFS_IN_CLONE:
    152                         vfs_op_clone(callid, &call);
    153                         break;
    154                 default:
    155                         async_answer_0(callid, ENOTSUP);
    156                         break;
    157                 }
    158         }
    159        
    160         /*
    161          * Open files for this client will be cleaned up when its last
    162          * connection fibril terminates.
    163          */
    16476}
    16577
Note: See TracChangeset for help on using the changeset viewer.