Changeset 0d6ab10 in mainline for uspace/srv/fs/minixfs/mfs_ops.c


Ignore:
Timestamp:
2011-03-18T20:39:48Z (14 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
930baca
Parents:
fe4ac35
Message:

Add mfs_stat() function and link mfs_size_get() function to the libfs_ops structure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/minixfs/mfs_ops.c

    rfe4ac35 r0d6ab10  
    3333#include <stdio.h>
    3434#include <stdlib.h>
     35#include <assert.h>
    3536#include <fibril_synch.h>
    3637#include <errno.h>
     
    4748
    4849libfs_ops_t mfs_libfs_ops = {
     50        .size_get = mfs_size_get,
    4951        .root_get = mfs_root_get,
    5052        .device_get = mfs_device_get,
     
    206208        struct mfs_node *node = fsnode->data;
    207209        return node->instance->handle;
     210}
     211
     212aoff64_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
     241void 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);
    208245}
    209246
Note: See TracChangeset for help on using the changeset viewer.