Changeset 0d6ab10 in mainline
- Timestamp:
- 2011-03-18T20:39:48Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 930baca
- Parents:
- fe4ac35
- Location:
- uspace/srv/fs/minixfs
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/minixfs/mfs.c
rfe4ac35 r0d6ab10 104 104 mfs_mount(callid, &call); 105 105 break; 106 case VFS_OUT_STAT: 107 mfs_stat(callid, &call); 108 break; 106 109 default: 107 110 async_answer_0(callid, ENOTSUP); -
uspace/srv/fs/minixfs/mfs.h
rfe4ac35 r0d6ab10 101 101 extern void mfs_mounted(ipc_callid_t rid, ipc_call_t *request); 102 102 extern void mfs_mount(ipc_callid_t rid, ipc_call_t *request); 103 extern aoff64_t mfs_size_get(fs_node_t *node); 103 104 extern bool mfs_is_directory(fs_node_t *fsnode); 104 105 extern bool mfs_is_file(fs_node_t *fsnode); … … 109 110 int mfs_node_get(fs_node_t **rfn, devmap_handle_t devmap_handle, 110 111 fs_index_t index); 112 113 extern void mfs_stat(ipc_callid_t rid, ipc_call_t *request); 111 114 112 115 /*mfs_inode.c*/ -
uspace/srv/fs/minixfs/mfs_ops.c
rfe4ac35 r0d6ab10 33 33 #include <stdio.h> 34 34 #include <stdlib.h> 35 #include <assert.h> 35 36 #include <fibril_synch.h> 36 37 #include <errno.h> … … 47 48 48 49 libfs_ops_t mfs_libfs_ops = { 50 .size_get = mfs_size_get, 49 51 .root_get = mfs_root_get, 50 52 .device_get = mfs_device_get, … … 206 208 struct mfs_node *node = fsnode->data; 207 209 return node->instance->handle; 210 } 211 212 aoff64_t mfs_size_get(fs_node_t *node) 213 { 214 aoff64_t size; 215 216 mfsdebug("request for inode size\n"); 217 assert(node); 218 219 const struct mfs_node *mnode = node->data; 220 assert(mnode); 221 222 const struct mfs_instance *inst = mnode->instance; 223 assert(inst); 224 225 const struct mfs_sb_info *sbi = inst->sbi; 226 assert(sbi); 227 228 if (sbi->fs_version == MFS_VERSION_V1) { 229 struct mfs_inode *ino; 230 ino = mnode->ino; 231 size = ino->i_size; 232 } else { 233 struct mfs2_inode *ino2; 234 ino2 = mnode->ino2; 235 size = ino2->i_size; 236 } 237 238 return size; 239 } 240 241 void mfs_stat(ipc_callid_t rid, ipc_call_t *request) 242 { 243 mfsdebug("mfs_stat called\n"); 244 libfs_stat(&mfs_libfs_ops, mfs_reg.fs_handle, rid, request); 208 245 } 209 246
Note:
See TracChangeset
for help on using the changeset viewer.